Как передать путь строки в командной строке подпроцесса? - PullRequest
0 голосов
/ 30 сентября 2019

Итак, у меня есть код, в котором я использую метод subprocess.popen, я хочу передать путь к строке в настройках, но я не знаю, как это сделать.

есть мой код:

screenCommand = rep_reference+"\osgedit\osgviewer.exe "

iterationsPath = str(path + "\sreplace.osg")
        command = "{0} --screen 0 --window 0 0 1920 1080 path+\sreplace.osg {1} " .format(screenCommand, listFix[e])

        process = subprocess.Popen(command)

        time.sleep(3.0)

        process.kill()

как указать путь к переменной iterationsPath в настройках моей команды?

1 Ответ

0 голосов
/ 30 сентября 2019

Вы передаете различные аргументы и параметры в списке вместе с командой.

Например, чтобы открыть VSCode в текущем каталоге, в оболочке вы должны сделать:

$ code .

Использование subprocess.Popen() (или subprocess.call()):

>>> import subprocess
>>> subprocess.Popen(['code', '.'])
>>>

По существу вы разделяете команду оболочки на пробелы.

Из документов

В POSIX, если args - строка, строка интерпретируется как имя или путь к программе для выполнения. Однако это можно сделать только в том случае, если в программу не переданы аргументы.

https://docs.python.org/3/library/subprocess.html#subprocess.Popen

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...