Python: 从可变长度列表中插入命令行参数
Python: Inserting command line arguments from a variable length list
我正在使用 VLC 加入一些视频。但是,我加入的视频数量各不相同。我已经能够让它在我的输出文件列表中使用恒定数量的变量:
p = sub.Popen(['C:\Program Files\VideoLAN\vlc\vlc.exe',
outputFileList[0],
outputFileList[1],
outputFileList[2],
'vlc://quit',
'--sout-keep',
'--sout=#gather:standard{access=file,dst=D:\movies\' + fileName + '.mov}',
'--sout-keep'],
stdout=sub.PIPE,
stderr=sub.PIPE)
但是,我无法弄清楚如何提供不同数量的参数。有时我想联合 2 个视频,有时 3 个,等等。我不能简单地循环并在命令行本身中添加项目(至少我试过了)。而且我不能只提供一个列表来代替单个项目,因为它正在为每个项目寻找一个字符串路径。
如有任何帮助,我们将不胜感激。
只需连接您的列表:
p = sub.Popen(['C:\Program Files\VideoLAN\vlc\vlc.exe'] +
outputFileList +
['vlc://quit',
'--sout-keep',
'--sout=#gather:standard{access=file,dst=D:\movies\' + fileName + '.mov}',
'--sout-keep'],
stdout=sub.PIPE,
stderr=sub.PIPE)
我正在使用 VLC 加入一些视频。但是,我加入的视频数量各不相同。我已经能够让它在我的输出文件列表中使用恒定数量的变量:
p = sub.Popen(['C:\Program Files\VideoLAN\vlc\vlc.exe',
outputFileList[0],
outputFileList[1],
outputFileList[2],
'vlc://quit',
'--sout-keep',
'--sout=#gather:standard{access=file,dst=D:\movies\' + fileName + '.mov}',
'--sout-keep'],
stdout=sub.PIPE,
stderr=sub.PIPE)
但是,我无法弄清楚如何提供不同数量的参数。有时我想联合 2 个视频,有时 3 个,等等。我不能简单地循环并在命令行本身中添加项目(至少我试过了)。而且我不能只提供一个列表来代替单个项目,因为它正在为每个项目寻找一个字符串路径。
如有任何帮助,我们将不胜感激。
只需连接您的列表:
p = sub.Popen(['C:\Program Files\VideoLAN\vlc\vlc.exe'] +
outputFileList +
['vlc://quit',
'--sout-keep',
'--sout=#gather:standard{access=file,dst=D:\movies\' + fileName + '.mov}',
'--sout-keep'],
stdout=sub.PIPE,
stderr=sub.PIPE)