Python3 выполняет терминал иначе, чем ручной ввод - PullRequest
0 голосов
/ 09 июня 2018

У меня есть небольшой кусочек кода Python3.Который запускает команду из терминала.

import os
os.system('"C:/directory/program.exe" -k "C:/directory/options.txt" & pause')

Когда я запускаю этот код в IDLE, я получаю следующую ошибку:

The filename, directory name, or volume label syntax is incorrect.

Оба пути действительны.Так что это не проблема.Кроме того, работает:

"C:/directory/program.exe" -k "C:/directory/options.txt" & pause

из терминала работает правильно.

1 Ответ

0 голосов
/ 10 июня 2018

Вам не нужны кавычки вокруг системных путей, это должно работать:

import os
os.system("C:/directory/program.exe -k C:/directory/options.txt & pause")

Надеюсь, это поможет.

[Редактировать] Работа с такими пробелами, каквы делаете это с os.system, насколько мне известно, невозможно, ссылаясь на этот поток сообщений об ошибках Python

Решением может быть использование модуля subprocess inisad.

import subprocess
subprocess.call(["C:/direc tory/program.exe", "-k", "C:/direc tory/program.exe"])
...