我有以下代码:
with ZipFile('deploy.zip', 'w') as deploy:
if os.path.isfile(artifact.source):
deploy.write(artifact.source, artifact.target)
else:
for base, dirs, files in os.walk(artifact.source):
for file_ in files:
source = os.path.join(base, file_)
target = os.path.join(base[base.index(artifact.target):], file_)
deploy.write(source, target)
当此代码完成时,只有与文件匹配artifact.source
的文件才会添加到 deploy.zip。在某些情况下artifact.source
将是一个目录(我也测试过这个案例)广告for
部分将被执行。
以下行的结果是有效的,并且每次迭代都存在源:
source = os.path.join(base, file_)
target = os.path.join(base[base.index(artifact.target):], file_)
这是我正在工作的完整代码:https ://gist.github.com/khaoz/9b04d87b0900fba780f0 将 config.project_root 设置为“c:\temp”之类的内容并删除导入配置行。OBS:我是 Python 新手,所以请忽略一些你会看到的垃圾代码:P
这里是我的 csv 文件的一个例子:https ://gist.github.com/khaoz/e9a59390f415f22d46db
我做错了什么?