python脚本在目录中的每个文件上运行

时间:2017-05-23 21:41:56

标签: python csv uuid

我有一个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)

2 个答案:

答案 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')]