在目录中的所有文件上运行python脚本

S1s*_*hus 4 python scripting command-line

我有一个Python脚本,可以读取文本csv文件并创建播放列表文件.但是我一次只能做一个,比如:

python playlist.py foo.csv foolist.txt
Run Code Online (Sandbox Code Playgroud)

但是,我有一个文件目录需要制作成播放列表,具有不同的名称,有时还有不同数量的文件.

到目前为止,我已经看过创建一个txt文件,其中列出了目录中文件的所有名称,然后循环遍历每一行,但我知道必须有一种更简单的方法.

fal*_*tro 8

for f in *.csv; do
  python playlist.py "$f" "${f%.csv}list.txt"
done
Run Code Online (Sandbox Code Playgroud)

这会诀窍吗?这将把foo.csv放在fclist.txt和abc.csv中的abclist.txt中.

或者你想要他们都在同一个文件中?


Dan*_*olo 6

只需使用带有星号 glob 的 for 循环,确保为文件名中的空格正确引用内容

for file in *.csv; do
   python playlist.py "$file" >> outputfile.txt;
done
Run Code Online (Sandbox Code Playgroud)