Python:在脚本中处理globbing

时间:2013-08-21 20:18:27

标签: python shell glob

$ script.py *.txt

我想在此目录中的所有.txt文件上运行script.py,其中包括1.txt,2.txt和3.txt。我可以想到两种方法:让python脚本处理globbing,或让shell产生多个进程。

让脚本处理globbing是我更喜欢的方法。

根据Prevent globbing after variable substitution,我可以使用set -f将其关闭。我如何能够专门为Python脚本指定此选项?

3 个答案:

答案 0 :(得分:1)

你为什么要通过Python globbing来做这件事?一个shell脚本是完美的,恕我直言,你分开你的python脚本应该做的核心功能,以及为目录中的所有*.txt文件运行它的琐碎任务。

答案 1 :(得分:1)

如果出于某种原因需要在脚本中进行吞噬(例如,计算处理的文件总数),可以使用:

script.py '*.txt'

script.py "*.txt"

答案 2 :(得分:0)

如果目录中有大量文件,iglob()会更好。您必须将glob参数作为字符串传递:

$ script.py "*.txt"