Как запустить один сценарий Python из другого сценария Python и получить выходные данные другого Python 3.4? - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть фрагмент кода, который получает координаты GPS от USB-приемника GPS. и этот код использует многопоточность, и это не будет работать в файле python, который я импортирую в мой основной файл (я не хочу помещать его непосредственно в основной из-за того, как организована моя программа), я хотел бы через подпроцесс или что-то подобное в python-3.4, запустите другой файл python и распечатайте весь вывод этого скрипта, который я запускаю из подпроцесса. Я посмотрел буквально сотни примеров, которые все ужасно потерпели неудачу, некоторые из них выбросили ошибки, в которых говорилось:

"Errno [2] no such file or directory".

Некоторые просто ничего не печатали, а некоторые выдавали ошибки, говоря

"buffsize has to be an int"

И один сказал:

 subprocess.CalledProcessError: Command 'revGeoCode.py' returned non-zero exit status 127 

Я не могу перечислить все примеры кода, которые я пробовал, потому что это буквально заняло бы весь день до конца. Но я попробовал Subprocess несколькими способами, включая:

SP.Popen, SP.call, SP.check_output а также все варианты ОС, а также в подпроцессе с использованием: Shell = True, stdout, stderr, .PIPE, communication () и т. д. Я также попытался указать каталог, в котором находилась программа, но безрезультатно.

Вот несколько примеров того, что я пробовал, они не работают:

output = subprocess.check_output("python3 revGeoCode.py", shell=True)
print(output)

.

output = subprocess.check_output("revGeoCode.py", shell=True)
print(output)

.

output = subprocess.Popen("revGeoCode.py")
print(output)

желаемый результат: Все, что происходит или печатается в revGeoCode.py,

это способ использовать подпроцесс для запуска файлов Python в фоновом режиме и распечатывать все, что печатал файл Python, как если бы вы использовали терминал ??

спасибо за любую помощь, которую вы можете оказать!

...