我创建了这个小python程序来自动化我想要运行的一些进程。长话短说我用python将一些信息和参数传递给外部程序。外部程序完成它的事情并且拉上结果。我要做的是添加一个" licence.txt"归档到已压缩的结果。这就是我所拥有的:
import zipfile
#List of files for the licence to be inserted into
data = [ loc + r"\FME_Data\FME_GENERIC_OUTPUT\BASE\BASE_NS_CivicAddress_File_UT83_GDB.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\BASE\BASE_NS_CivicAddress_File_UT83_MIF.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\BASE\BASE_NS_CivicAddress_File_UT83_SHP.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\BND\BND_NS_Community_Bndys_UT83_GDB.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\BND\BND_NS_Community_Bndys_UT83_MIF.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\BND\BND_NS_Community_Bndys_UT83_SHP.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\TRNS\TRNS_NSRN_Addressed_Roads_UT83_GDB.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\TRNS\TRNS_NSRN_Addressed_Roads_UT83_MIF.zip",
loc + r"\FME_Data\FME_GENERIC_OUTPUT\TRNS\TRNS_NSRN_Addressed_Roads_UT83_SHP.zip"]
count, tot = 0,8
while count <= tot:
z = zipfile.ZipFile(data[count] , "a")
z.write ("Licence.txt")
z.close()
count = count + 1
运行并将.txt插入到zip文件中,但它也将所有其他单独的.zip文件复制到每个压缩目录中。所以我最终将9个单独的压缩文件压缩到每个目录中。每个.zip中只应该有一种文件类型。我觉得好像我犯了一个真正的简单错误,但是我无法找到它...任何想法?
答案 0 :(得分:0)
我不明白为什么你会这样做但是试试这个,这有点简单:
import zipfile
for filepath in data:
with zipfile.ZipFile(filepath, 'a') as myzip:
myzip.write('license.txt')