我想知道如果有人知道我可以在我的zip文件夾(「fw/resources/logo.png」)下將名爲「logo.png」的文件重命名爲(「fw/resources /logo.png.bak「),使用python的zip模塊。使用zipmodule重命名ZIP文件夾中的文件
回答
我認爲這是不可能的:zipfile模塊沒有這個方法,正如Renaming a File/Folder inside a Zip File in Java?中提到的那樣,zip文件的內部結構也是如此。所以你必須做unzip,重命名,zip。
更新:剛剛找到 Delete file from zipfile with the ZipFile Module哪些應該可以幫到你。
好吧,我將如何刪除zip文件夾中的目錄? – user715578
刪除可以使用shutil.rmtree的os.rmdir完成,但是如果你只想重命名文件夾,我們可以使用shutil.move – rocksportrocker
實際上,我將如何刪除zip文件夾中的文件? – user715578
正如rocksportrocker所提到的,您不能從zipfile歸檔文件重命名/刪除文件。您可以遍歷zipfile中的文件並選擇性地添加所需的文件。因此,要從zip文件中刪除某個目錄,您不會將它們複製到新的zip文件中。這將是這樣的:
source = ZipFile('source.zip', 'r')
target = ZipFile('target.zip', 'w', ZIP_DEFLATED)
for file in source.filelist:
if not file.filename.startswith('directory-to-remove/'):
target.writestr(file.filename, source.read(file.filename))
target.close()
source.close()
。這將讀取所有的文件到內存中,它不會對大型歸檔的理想解決方案。對於小型檔案館來說,這是按照廣告的方式工
它是否真的將整個文件加載到內存中? – swdev
- 1. 使用壓縮文件的名稱命名Zip文件夾
- 2. 重命名文件夾中的文件
- 3. 提取並重命名zip文件文件夾
- 4. 重命名文件夾中
- 5. 使用文件夾名稱在powershell中重命名文件
- 6. 如何用Ant重命名zip文件中的文件?
- 7. 使用宏重命名文件夾中的文件
- 8. 使用PHP重命名文件夾中的所有文件
- 9. 使用zmv重命名子文件夾中的文件
- 10. 使用cmd重命名文件夾中的多個文件
- 11. 使用查找shell重命名文件夾中的文件
- 12. 使用if()重命名子文件夾中的文件
- 13. 使用bash重命名文件夾中的所有文件
- 14. 使用shell腳本重命名文件夾中的文件
- 15. 在bash中重命名文件夾,文件和子文件夾
- 16. 使用VBScript重命名子文件夾
- 17. 使用RegEx重命名文件夾
- 18. 用php重命名文件夾中的重複文件
- 19. 重命名zip文件後,我無法刪除文件夾中的node.js
- 20. SVN文件夾重命名
- 21. 重命名文件夾
- 22. 重命名wordpress文件夾
- 23. 重命名子文件夾
- 24. Skydrive重命名文件夾
- 25. PHP重命名文件夾
- 26. 重命名文件夾
- 27. 重命名文件夾
- 28. 文件夾/文件重命名
- 29. 使用文件夾名稱作爲前綴重命名文件
- 30. 使用文件夾名稱批量重命名文件?
你不能使用內置的'zipfile'模塊。 – agf