【问题标题】:Batch Process Files in Folder to Python Script Arguments将文件夹中的文件批处理到 Python 脚本参数
【发布时间】:2019-02-10 01:30:48
【问题描述】:

我正在尝试使用这个 Python 脚本来批处理文件名来代替参数。

脚本运行如下:

$ python /root/vrn/raw2obj.py --volume /root/vrn/output/file-name1105.raw \
   --image /root/vrn/JPEGS/scaled/file-name1105.jpg \
   --obj /root/workfolder/output/file-name1105.obj`

脚本的来源可以在这里找到vrn/raw2obj.py

我尝试继承用于批处理 FFmpeg 进程的类似结构,但没有任何运气。 --volume--image--obj的文件名都是一样的,只是扩展名不同。

如果使用 reg 表达式更容易的话,文件也会被编号,它从 file-name0000 to file-name2254 开始,顺序为 1。

是否可以搜索或for i in /root/vrn/JPEGS/scaled/ 文件夹(仅使用 linux bash)并使用不带扩展名的文件名作为使用 Bash 的上述参数?

【问题讨论】:

  • 您应该将代码放入函数中。查看os.walkglob.glob 了解递归查找文件的方法。 glob 可能对您来说更快更容易。此外,os.path 可以为您删除/添加扩展名等操作文件名。
  • 感谢您的回复。我应该在上面的帖子中提到我对 python 不是很熟悉,所以我无法自己实现它。我希望有一些 bash 解决方案成为可能,因为我对此比较熟悉

标签: python linux bash batch-processing


【解决方案1】:

for i in file-name{0000..2254}; do python /root/vrn/raw2obj.py --volume /root/vrn/output/"$i".raw --image /root/vrn/JPEGS/scaled/"$i".jpg --obj /root/workfolder/output/"$i".obj done 为我工作。它按顺序遍历文件名并逐个运行脚本。

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多