Come posso ottenere globali () per chiamare script Python con sottoprocesso ()?

voti
0

Voglio usare uno script per chiamare un altro 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()

La corsa run_with_exec () può inviare globali (), e la chiamata run.py script può utilizzare la funzione fn () in main.py. Ma come posso correre con run_with_subprocess () per rendere lo script chiamato run.py utilizzare la funzione fn () in main.py? Sto cercando da molto tempo sulla rete. Ma non serve. Si prega di aiutare o cercare di dare alcune idee su come raggiungere questo obiettivo.

È pubblicato 24/10/2019 alle 12:55
fonte dall'utente
In altre lingue...                            

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