在文件夹中的多个文件上运行Python脚本

时间:2014-09-15 19:06:03

标签: python linux opensuse

我在opensuse中使用python,我的问题是我需要在我的文件夹中执行大数据。 例如

python myprogram.py 20140101.txt

我仍然需要运行大量数据,如命名(20140101.txt)ex 20140204等。 我的问题是如何让我的程序自动运行所有数据。

4 个答案:

答案 0 :(得分:2)

像这样使用bash:

for file in /dir/*.txt
do
    python myprogram.py $file     
done

答案 1 :(得分:0)

对于纯python解决方案,请查看fileinput

它是python标准库的一部分,让你循环遍历通过标准输入或文件列表给出的文件,例如:

import fileinput
for line in fileinput.input():
    process(line)

所以你可以这样做:

./python myprogram 2014*.txt

答案 2 :(得分:0)

glob模块对于处理具有不同名称的多个文件非常有用。

https://docs.python.org/2/library/glob.html

答案 3 :(得分:0)

python解决方案是使用" glob"。它可以帮助您创建文件列表'基于某种模式的名称。然后,您可以遍历这些文件名以执行命令。见下面的例子。

import glob

txt_files = glob.glob("201401*.txt")

for txt in txt_files:
    print txt
    my_txt_file = open(txt, "r") 

供进一步参考: https://docs.python.org/3/library/glob.htm