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

时间:2013-05-07 20:20:37

标签: python

我有一个脚本,它从电子邮件中获取信息,下载图像和必要的文本,然后使用所述信息创建一个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()

1 个答案:

答案 0 :(得分:3)

Python代码按顺序运行,因此只有在生成所有HTML文件后,您的zip函数才能运行。您遇到的问题可能在for file in allFiles: - 在哪里找到文件列表并将其放入allFiles变量的代码?如果该代码在HTML生成之前运行,那么在创建zip文件时,allFiles将包含您要捕获的所有文件的过时索引。