我想通过Python执行Linux命令。这适用于终端:
/usr/bin/myprogram --path "/home/myuser"
我试过这个:
path = "/home/myuser"
args = ['/usr/bin/myprogram', '--path ' + path]
proc = subprocess.Popen(args)
而且:
path = "/home/myuser"
args = ['/usr/bin/myprogram', '--path "' + path + '"']
proc = subprocess.Popen(args)
但是myprogram
不接受路径格式化。我知道不执行shell时路径的行为会有所不同,但我无法使其工作。我也试过单引用路径而不是双引用它。对于也适用于Windows的解决方案的奖励积分(显然具有不同的程序路径)。
答案 0 :(得分:0)
这里有一些尝试:
Subject:
注意正斜杠(" /")。根据我的阅读,即使在Windows上运行,Python也不喜欢反斜杠(" \")(我自己从未在Windows上使用它)。
答案 1 :(得分:-1)
问题来自您的字符串文字\b
。根据{{3}},\x08
被r
替换,因此找不到您的可执行文件。
在字符串文字前面点r'\usr\bin\myprogram'
(例如\\
),或使用'\\usr\\bin\\myprogram'
代表反斜杠(即{{1}})。