$ script.py *.txt
我想在此目录中的所有.txt文件上运行script.py,其中包括1.txt,2.txt和3.txt。我可以想到两种方法:让python脚本处理globbing,或让shell产生多个进程。
让脚本处理globbing是我更喜欢的方法。
根据Prevent globbing after variable substitution,我可以使用set -f
将其关闭。我如何能够专门为Python脚本指定此选项?
答案 0 :(得分:1)
你为什么要通过Python globbing来做这件事?一个shell脚本是完美的,恕我直言,你分开你的python脚本应该做的核心功能,以及为目录中的所有*.txt
文件运行它的琐碎任务。
答案 1 :(得分:1)
如果出于某种原因需要在脚本中进行吞噬(例如,计算处理的文件总数),可以使用:
script.py '*.txt'
或
script.py "*.txt"
答案 2 :(得分:0)
如果目录中有大量文件,iglob()会更好。您必须将glob参数作为字符串传递:
$ script.py "*.txt"