Во-первых, вы можете использовать Shell
, хотя, к сожалению, это, вероятно, сложнее, чем вы себе представляли.
Ваша текущая проблема проста - Shell
не может напрямую запустить файл python, поэтому вам нужно иметь Shell
call cmd /c python.exe Go.py
, и вам может потребоваться указать полный путь к python.exe
как хорошо.
Однако вы также хотите захватить результат, и Shell
возвращает только идентификатор процесса, а не какой-либо вывод процесса. Вы можете ознакомиться с некоторыми примерами внешнего вызова процесса , хотя они явно не описывают, как захватывать выходные данные. Если Go.py
выводит на терминал, вы, вероятно, можете записать вывод в файл, используя стандартное перенаправление вывода Windows , а затем открыть файл в VisualBasic и прочитать значения.
Вы также можете использовать System.Diagnostics.Process()
вместо того, чтобы прыгать через все препятствия, пытаясь получить больше функциональности от Shell
. (В частности, просмотрите свойства класса ProcessStartInfo
, относящиеся к перенаправлению вывода, которые дают вам гораздо больший контроль, чем что-либо, использующее Shell
).