【发布时间】:2009-07-13 16:50:53
【问题描述】:
我正在尝试创建一个 Python 脚本:
- 查看文件夹“/input”
- 对于该文件夹中的每个视频,运行 mencoder 命令(将它们转码为可在我的手机上播放的内容)
- mencoder 完成运行后,删除原始视频。
这似乎不太难,但我很擅长 python :)
关于脚本应该是什么样子的任何想法?
额外问题:我应该使用
操作系统系统
或
subprocess.call
?
Subprocess.call 似乎允许编写更具可读性的脚本,因为我可以这样编写命令:
cmdLine = ['mencoder', 源视频, '-ovc', '复制', '-oac', '复制', '-ss', '00:02:54', '-endpos', '00:00:54', '-o', 目的地视频]
编辑:好的,这行得通:
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 命令,因为我仍在处理它。
感谢大家的意见。
【问题讨论】:
-
Grr 我仍然遇到与上一个问题相同的问题; “windows 找不到指定的文件”。 Python 和/或 windows 不喜欢文件和文件夹名称中的空格。 :(
-
如果文件路径中有空格,则需要在文件路径两边加上双引号。