如何在Python代码中建立操作顺序?
我有一个脚本,它从电子邮件中获取信息,下载图像和必要的文本,然后用这些信息创建一个HTML文件。我还想实现压缩文件以简化分发的功能。我遇到的问题是,zip函数在生成所有html文件之前运行,因此将它们从存档中排除。有没有人对在创建zip存档之前确保所有HTML文件都已创建的最佳方法有什么建议?谢谢大家! 示例代码:如何在Python代码中建立操作顺序?,python,Python,我有一个脚本,它从电子邮件中获取信息,下载图像和必要的文本,然后用这些信息创建一个HTML文件。我还想实现压缩文件以简化分发的功能。我遇到的问题是,zip函数在生成所有html文件之前运行,因此将它们从存档中排除。有没有人对在创建zip存档之前确保所有HTML文件都已创建的最佳方法有什么建议?谢谢大家! 示例代码: for csvFile in csvFiles: for file in os.listdir('.'): #do stuff csv_file =
for csvFile in csvFiles:
for file in os.listdir('.'):
#do stuff
csv_file = csv.DictReader(open(csvFile))
for line in csv_file:
htmlFile = csvFile[:-4]+'-'+line['sequence']+'.html'
htmlCode = '<html goes here>'
htmlData = open(os.path.join('C:/foo/bar', htmlFile), 'w+')
htmlData.write(htmlCode)
print htmlFile+' Complete'
htmlData.close()
for file in allFiles:
archive = zipfile.ZipFile(csvFile[:-4]+'.zip', mode='a')
archive.write(file)
archive.close()
csvFile中的csvFile的:
对于os.listdir('.')中的文件:
#做事
csv_file=csv.DictReader(打开(csvFile))
对于csv_文件中的行:
htmlFile=csvFile[:-4]+'-'+行['sequence']+'.html'
htmlCode=''
htmlData=open(os.path.join('C:/foo/bar',htmlFile),'w+'))
htmlData.write(htmlCode)
打印htmlFile+“完成”
htmlData.close()
对于所有文件中的文件:
archive=zipfile.zipfile(csvFile[:-4]+'.zip',mode='a')
archive.write(文件)
archive.close()
Python代码按顺序运行,因此zip函数应仅在生成所有HTML文件后运行。您遇到的问题可能在for file in allFiles:
--查找文件列表并将其放入allFiles
变量的代码在哪里?如果该代码在生成HTML之前运行,那么在创建zip文件时,allFiles
将有一个过期的索引,其中包含要捕获的所有文件。Python代码按顺序运行,因此zip函数应仅在生成所有HTML文件之后运行。您遇到的问题可能在for file in allFiles:
--查找文件列表并将其放入allFiles
变量的代码在哪里?如果该代码在生成HTML之前运行,那么在创建zip文件时,allFiles
将有一个过期的索引,其中包含要捕获的所有文件。您是正确的,我的allFiles
代码在生成HTML之前。我真不敢相信我错过了。谢谢另外,您试图在第二个循环中使用csvFile
,但它只是上面for
循环中的最后一个值,这可能不是您想要的。您是对的,我的allFiles
代码在HTML生成之前。我真不敢相信我错过了。谢谢另外,您试图在第二个循环中使用csvFile
,但它只是上面for
循环中的最后一个值,这可能不是您想要的。