Como posso obter globals () para chamar script Python com subprocess ()?

votos
0

Eu quero usar um script para chamar outro 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()

O run_with_exec run () pode enviar globals (), eo chamado run.py script pode usar a função fn () in main.py. Mas como eu posso correr com run_with_subprocess () para fazer o chamado roteiro run.py usar a função fn () in main.py? Estou à procura de um longo tempo na net. Mas não adianta. Por favor, ajudar ou tentar dar algumas idéias de como conseguir isso.

Publicado 24/10/2019 em 12:55
fonte usuário
Em outras línguas...                            

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