gpt4 book ai didi

python - 在 python (2.7.x) 中将特殊字符作为参数传递给子进程

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:34 25 4
gpt4 key购买 nike

我试图将 Linux 中 mediainfo 命令的输出存储在变量中。我为此使用子进程模块。问题是 mediainfo 命令的参数有特殊字符。这是片段

shell 命令是:

 mediainfo --Inform="Video;%DisplayAspectRatio%" test.mp4

Python代码是:

mediain = str('--Inform="Video;%DisplayAspectRatio%"')
mediaout = subprocess.check_output("medainfo", mediain ,"test.mp4")
print mediaout

我得到的错误是

--Inform="Video;%DisplayAspectRatio%"
Traceback (most recent call last):
File "./test.py", line 8, in <module>
mediaout = subprocess.check_output("medainfo", '--Inform="Video;%DisplayAspectRatio%"',"test.mp4")
File "/usr/lib64/python2.7/subprocess.py", line 568, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 660, in __init__
raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer

在这方面的任何帮助都是值得赞赏的,绝对是Python新手谢谢

最佳答案

subprocess.check_output()期望第一个参数是一个列表。试试这个:

args = ['mediainfo', '--Inform=Video;%DisplayAspectRatio%', 'test.mp4']
mediaout = subprocess.check_output(args)
print mediaout

关于python - 在 python (2.7.x) 中将特殊字符作为参数传递给子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699866/

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