【发布时间】:2022-01-19 17:02:55
【问题描述】:
我尝试使用 subprocess 来运行系统命令,但是当我使用双斜杠传递参数时,斜杠被替换为空格。
获取此代码:
i = subprocess.Popen(["netsed", "udp", "8080", "127.0.0.1", "8081", r"'s/X-Header: value//'"])
进程运行时,最后一个参数不正确:
ps aux | grep netsed
root 783457 0.0 0.0 2692 804 pts/0 S+ 17:00 0:00 netsed udp 8080 127.0.0.1 8081 's/X-Header: value '
如何传递双正斜杠?
【问题讨论】:
-
这似乎对我有用
subprocess.Popen(["echo", r"'s/X-Header: value//'"])就像“非原始”版本subprocess.Popen(["echo", "'s/X-Header: value//'"])一样。两者都导致's/X-Header: value//' -
我怀疑是
ps这样做的,而不是subprocess。 -
@JonSG 谢谢,看起来 ps 输出混淆了这个问题。感谢您的测试让我朝着正确的方向前进。
标签: python python-3.x subprocess