В моей основной функции я хочу передать переменную подпроцессу, заставить подпроцесс что-то сделать с переменной и вернуть управление основному процессу.
Я прочитал несколько сообщений о передаче переменных (аргументы) для подпроцесса, но я ничего не могу найти при доступе к переменной в подпроцессе.
Вот пример того, что я пытаюсь сделать.
a.py
import subprocess
if __name__ == "__main__":
# Code to generate fn_new
fn_new = r"path\to\file.ext" # I want to pass this variable to b.py
subprocess.run(["python", "b.py", fn_new]) # I read that this is how to pass the var to the subprocess
# Additional code that depends on fn_new
b.py
print(fn_new)
# NOTE 1: There are several things being done with the variable fn_new
# NOTE 2: I'm not passing anything back to a.py
В b.py я попытался from a import fn_new
, но он ожидает, что fn_new появится за пределами if __name__ == "__main__":
в a.py. Я не хочу перемещать "fn_new" в основной сценарий, потому что мне нужно было бы перенести всю обработку, которая идет вместе с ним.
Как получить доступ к переменной "fn_new" из subprocess.run без импорт? Или я поступаю неправильно?