我有一个python脚本,它接收文件并处理该文件。但是,因为我有1198个文件需要相同的处理,我想知道是否可以使用for循环修改命令参数部分以连续运行文件夹中的所有文件?
系统参数的代码在这里:
import csv
import uuid
fin = open('input.csv', 'rb')
fout = open('output.csv', 'w')
reader = csv.reader(fin, delimiter=',', quotechar='"')
writer = csv.writer(fout, delimiter=',', quotechar='"')
firstrow = True
for row in reader:
if firstrow:
row.append('UUID')
firstrow = False
else:
row.append(uuid.uuid4())
writer.writerow(row)
答案 0 :(得分:1)
import os
myPath = 'D:\\2000ad'
myFiles=os.listdir(myPath)
for f in myFiles:
print f
这将返回给定文件夹中的所有文件的列表。你可以循环浏览列表。
答案 1 :(得分:0)
是的,您可以循环遍历文件列表,您可能会发现许多方法。
示例 - 您可以使用os.listdir函数
import os
files = [fi for fi in os.listdir(pathtofiles) if fi.endswith('.csv')]
这与DrBwts的答案相同,只是只有以.csv结尾的文件才会添加到列表中。或者,如果您需要文件的完整路径作为输入,则可以执行以下操作。
import os
fullpathfiles = [pathtofiles + fi for fi in os.listdir(pathtofiles) if fi.endswith('.csv')]