python教程—使用Python对文件夹中的每个文件执行命令-Python实用宝典

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

我试图创建一个Python脚本,它会:这似乎不太困难,但我在Python:)关于脚本应该是什么样子的想法?

我试图创建一个Python脚本,将:

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

这似乎不难,但我对python一窍不通:)

对剧本应该是什么样子有什么想法吗?

附加问题:我应该使用吗

os.system

subprocess.call

吗?

子流程。调用似乎允许一个更容易读的脚本,因为我可以这样写命令:

cmdLine = [' mencoder ',
sourceVideo,
“ovc”,
“复制”,
“-oac”,
“复制”,
“党卫军”,
“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实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论