我不知道您要达到什么目的,但是如果您想遍历文件夹中的大量文件,可以使用 linuxfind
命令。
在您的情况下的一个例子是:
cd /path/to/folder/CSV
find . -name *.csv -exec your_python_script.py {} \;
这将找到所有.csv
文件并在每个文件上运行您的 python 脚本。
确保您#!/bin/env python
在文件顶部有并运行sudo chmod +x your_python_script.py
以使其可执行。
如果您没有.csv
扩展名,则可以执行以下操作:
cd /path/to/folder/CSV
find . -exec your_python_script.py {} \;
尽管被警告 - 这将在目录中的每个文件上运行- CSV 或其他文件。
另外,如果我正确理解了您的脚本(它只是将文件名附加到最后一列),请尝试以下操作:
#!/bin/env python
import sys
import csv
filename=sys.argv[1]
output_filename='new-'+filename
output_rows = []
with open(filename, 'r') as inputfile:
with open(output_filename) as outputfile:
r = csv.reader(inputfile)
w = csv.writer(outputfile, lineterminator='\n')
for input_row in r:
output_row=input_row.append(filename)
output_rows.append(output_row)
w.writerows(output_rows)
将其保存test_python_script.py
在您的CSV
文件夹中。然后运行:
cd /path/to/folder/CSV
chmod +x test_python_script.py
find . -exec test_python_script.py {} \;