【发布时间】:2015-09-02 22:44:30
【问题描述】:
我有一个 python 脚本,它将文件名作为命令参数并处理该文件。但是,我有数千个文件需要处理,我想在每个文件上运行脚本,而不必每次都添加文件名作为参数。
例如:
process.py file1 会做我想做的事
但是,我想在包含数千个文件(file1、file2、file3 等)的文件夹上运行 process.py
我发现它可以简单地在 Bash 中完成
for f in *; do python myscript.py $f; done
但是,我在 Windows 上,不想安装 Cygwin 之类的东西。 Windows 命令行的一段代码会是什么样子,可以模拟上面的 Bash 代码完成的工作?
【问题讨论】:
-
您想要一个纯 Python 的解决方案(即在您的 Python 脚本中完成)还是利用 Windows 批处理功能的解决方案?
-
顺便说一句,在 bash 中最好使用
python myscript.py "$f",否则文件名中有空格会中断。 -
我对任何一种方式都有效的解决方案持开放态度。理想情况下,它将在 python 脚本中完成,然后我可以在运行 python 脚本时传递文件夹位置的参数以进行处理。但是,如果使用 Windows 批处理更容易完成,那很好
标签: python windows batch-file windows-shell