Hoe kan ik globals () voor het bellen Python-script met subproces ()?

stemmen
0

Ik wil een script gebruiken om een ​​ander script te bellen 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()

De run_with_exec () run kan globals () te sturen, en de opgeroepen script run.py kan de functie fn () te gebruiken in main.py. Maar hoe kan ik lopen met run_with_subprocess () om de zogenaamde script run.py de fn () functie in main.py? Ik ben op zoek naar een lange tijd op de netto. Maar geen zin. Gelieve te helpen of proberen om een ​​aantal ideeën over hoe om dit te bereiken geven.

De vraag is gesteld op 24/10/2019 om 12:55
bron van user
In andere talen...                            

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