如何在Python代码中建立操作顺序?

如何在Python代码中建立操作顺序?,python,Python,我有一个脚本,它从电子邮件中获取信息,下载图像和必要的文本,然后用这些信息创建一个HTML文件。我还想实现压缩文件以简化分发的功能。我遇到的问题是,zip函数在生成所有html文件之前运行,因此将它们从存档中排除。有没有人对在创建zip存档之前确保所有HTML文件都已创建的最佳方法有什么建议?谢谢大家! 示例代码: for csvFile in csvFiles: for file in os.listdir('.'): #do stuff csv_file =

我有一个脚本,它从电子邮件中获取信息,下载图像和必要的文本,然后用这些信息创建一个HTML文件。我还想实现压缩文件以简化分发的功能。我遇到的问题是,zip函数在生成所有html文件之前运行,因此将它们从存档中排除。有没有人对在创建zip存档之前确保所有HTML文件都已创建的最佳方法有什么建议?谢谢大家!

示例代码:

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
循环中的最后一个值,这可能不是您想要的。