gpt4 book ai didi

带有多个引号的参数的 Python 子进程调用

转载 作者:太空狗 更新时间:2023-10-30 00:33:32 25 4
gpt4 key购买 nike

我在 bash 中使用以下命令来执行 Python 脚本。

python myfile.py -c "'USA'" -g "'CA'" -0 "'2011-10-13'" -1 "'2011-10-27'"

我正在编写一个 Python 脚本来包装这个脚本。我目前不得不使用 os.system(我知道,它很糟糕),因为我不知道如何让引号与 subprocess.Popen 一起使用。传入的字符串变量中必须维护内部单引号。

谁能帮我确定如何格式化传递给 subprocess.Popen 的第一个变量。

最佳答案

您不需要对这些值进行转义。一切都作为字符串传递给流程。

您可以使用 shlex 模块找出传递变量的最佳方式:

import shlex
shlex.split('python myfile.py -c "USA" -g "CA" -0 "2011-10-13" -1 "2011-10-27"')
['python',
'myfile.py',
'-c',
'USA',
'-g',
'CA',
'-0',
'2011-10-13',
'-1',
'2011-10-27']

关于带有多个引号的参数的 Python 子进程调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8581140/

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