【发布时间】:2018-05-09 23:22:14
【问题描述】:
有文件夹路径:
P:\\2018\\Archive\\
我想以编程方式创建许多 zipfile,但我从 test.json 开始。我将把这个测试压缩文件命名为“CO_007_II.zip”并尝试在上面的位置创建:
import zipfile as zp
with zp.ZipFile("P:\\2018\\Archive\\CO_007_II.zip",'w') as myzip:
myzip.write(r"P:\2018\CO_007_II")
但我得到了错误!
...
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\ArcGIS10.2\lib\zipfile.py", line 752, in __init__
self.fp = open(file, modeDict[mode])
IOError: [Errno 2] No such file or directory: 'P:\\2018\\Archive\\CO_007_II.zip'
这不是创建新压缩文件的方法吗?我知道文件不存在。为什么我使用'w'模式,不是吗?
这是文档:
https://docs.python.org/3/library/zipfile.html
上面写着:
'w' 截断并写入一个新文件
文档页面上的示例:
with ZipFile('spam.zip', 'w') as myzip:
myzip.write('eggs.txt')
代码在两天前创建了新的 zip 文件,但没有添加文件夹。今天没有任何效果!为什么不?所有路径都有效。如何使用 python 创建新的 zip 文件并向其添加文件夹?
【问题讨论】:
-
@metatoaster 我明白了。我尝试 -- path = "P:\\2018\\Archive\\" -- os.path.isdir(path) -- 它返回 false。而且有问题!同事在存档前将新文件夹添加到目录!不过还是有问题。更改了路径名并进行了检查。返回“True”但现在出现此错误:IOError: [Errno 22] invalid mode ('wb') or filename: ' P:\\2018\\Workspaces\\Archive\\CO_001_Model.zip'
-
P:之前可能有一个空格,请检查以确保您的代码中没有这种情况。 -
@metatoaster 是的!再次正确。谢谢。我不知道这是否有资格作为答案,但如果您想发布一个,我会检查一下。