0
$ script.py *.txt

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

让脚本句柄通配是我更喜欢的方法。

根据防止变量替换后的通配符,我可以使用set -f它来关闭它。我如何能够专门为 Python 脚本指定此选项?

4

3 回答 3

1

为什么要通过 Python globbing 执行此操作?恕我直言,shell 脚本将是完美的,并且您将 python 脚本应该执行的核心功能与为*.txt目录中的所有文件运行它的琐碎任务分开。

于 2013-08-21T20:20:46.477 回答
1

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

script.py '*.txt'

或者

script.py "*.txt"
于 2013-08-21T20:27:24.420 回答
0

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

$ script.py "*.txt"
于 2013-08-21T20:27:00.703 回答