Cum pot obține GLOBALS () pentru apelarea script Python cu subproces ()?

voturi
0

Vreau să folosesc un script pentru a apela un alt script run.py

# main.py
import subprocess
import sys

def fn():
    print('I am fn...')

fpath = '/Users/runtest/run.py'

def run_with_exec():
    with open(fpath, 'r', encoding=utf8) as f:
        code = f.read()
    exec(compile(code.encode(utf-8), fpath, 'exec'), globals())

def run_with_subprocess():
    subprocess.run([sys.executable, fpath])  # Just run the program

if __name__ == __main__:
    run_with_exec()
    run_with_subprocess()

Run_with_exec () run pot trimite GLOBALS (), iar script-ul numit run.py poate folosi funcția fn () în main.py. Dar cum pot rula cu run_with_subprocess () pentru a face script-ul numit run.py folosiți funcția fn () în main.py? Caut o lungă perioadă de timp pe net. Dar nici un folos. Vă rugăm să ajute sau să încerce să dea câteva idei cum să realizeze acest lucru.

Întrebat 24/10/2019 la 12:55
sursa de către utilizator
În alte limbi...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more