subprocess.Popen не открывает exe - PullRequest
       0

subprocess.Popen не открывает exe

0 голосов
/ 15 апреля 2020

Это работает:

FNULL = open(os.devnull, 'w')
sgargs = "C:\\Program Files (x86)\\Stone Giant\\exe\\stone_giant.exe -bundle-dir \"C:\\Program Files (x86)\\Stone Giant\\bundle\""
subprocess.call(sgargs, stdout=FNULL, stderr=FNULL, shell=False)

Это не работает и не дает никакой ошибки или информации:

subprocess.Popen(["C:\\Program Files (x86)\\Stone Giant\\exe\\stone_giant.exe", "-bundle-dir \"C:\\Program Files (x86)\\Stone Giant\\bundle\""])

Я хочу использовать Popen, чтобы он не блокировался. Чего мне не хватает?

1 Ответ

1 голос
/ 15 апреля 2020

Во втором примере вы сделали -bundle-dir \"C:\\Program Files (x86)\\Stone Giant\\bundle\ единственным параметром. Изнутри python избежал пробела между именем параметра и значением, и программа подумала, что вы передали параметр буквально с именем "-bundle-dir \" C: \ Program Files (x86) \ Stone Giant \ bundle \ ".

Разделить на несколько параметров

["C:\\Program Files (x86)\\Stone Giant\\exe\\stone_giant.exe", 
    "-bundle-dir", "C:\\Program Files (x86)\\Stone Giant\\bundle\"]
...