gpt4 book ai didi

python - 使用 Python 对文件夹中的每个文件执行命令

转载 作者:IT老高 更新时间:2023-10-28 20:30:18 41 4
gpt4 key购买 nike

我正在尝试创建一个 Python 脚本:

  1. 查看文件夹“/input”
  2. 对于该文件夹中的每个视频,运行 mencoder 命令(将它们转码为可在我的手机上播放的内容)
  3. mencoder 完成运行后,删除原始视频。

这似乎不太难,但我很擅长 python :)

关于脚本应该是什么样子的任何想法?

额外问题:我应该使用

os.system

subprocess.call

?

Subprocess.call 似乎允许编写更具可读性的脚本,因为我可以这样编写命令:

cmdLine = ['mencoder', sourceVideo, '-ovc', 'copy', '-oac', 'copy', '-ss', '00:02:54', '-endpos', '00:00:54', '-o', destinationVideo]

编辑:好的,这行得通:

import os, subprocess

bitrate = '100'
mencoder = 'C:\\Program Files\\_utilitaires\\MPlayer-1.0rc2\\mencoder.exe'
inputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\input'
outputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\output'

for fichier in os.listdir(inputdir):
print 'fichier :' + fichier
sourceVideo = inputdir + '\\' + fichier
destinationVideo = outputdir + '\\' + fichier[:-4] + ".mp4"

commande = [mencoder,
'-of',
'lavf',
[...]
'-mc',
'0',

sourceVideo,
'-o',
destinationVideo]

subprocess.call(commande)

os.remove(sourceVideo)
raw_input('Press Enter to exit')

为了清楚起见,我删除了 mencoder 命令,因为我仍在处理它。

感谢大家的意见。

最佳答案

要查找所有文件名,请使用 os.listdir()

然后循环遍历文件名。像这样:

import os
for filename in os.listdir('dirname'):
callthecommandhere(blablahbla, filename, foo)

如果您更喜欢子流程,请使用子流程。 :-)

关于python - 使用 Python 对文件夹中的每个文件执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1120707/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com