使用Python在文件夹中的每个文件上执行命令

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

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

这似乎不太难,但是我很讨厌python :)

关于脚本的外观有什么想法?

奖励问题:我应该使用

操作系统

要么

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在文件夹中的每个文件上执行命令 的全部内容, 来源链接: utcz.com/qa/400288.html

回到顶部