从当前的Python代码运行另一个Python脚本

时间:2018-10-28 21:33:02

标签: python python-3.x

我有以下代码:

import os
import sys
from random import randint

code = """import os
import sys
from random import randint
from main import code

name = str(randint(0, sys.maxsize))
f = open(name + '.py', 'w+')
f.write(code)
os.system('/usr/local/bin/python3.6 ' + name + '.py')
"""


name = str(randint(0, sys.maxsize))
f = open(name + '.py', 'w+')
f.write(code)
os.system('/usr/local/bin/python3.6 ' + name + '.py')

他应该创建一个具有随机名称的脚本,然后执行。脚本已创建,但他未执行。

1 个答案:

答案 0 :(得分:3)

exec(open(‘script.py’).read())应该可以工作。请注意,代码将在当前环境(当前工作目录等)中执行

另一种方法当然是像在shell中一样运行命令。可以模拟外壳全部功能的模块是软件包subprocess,您可以在其中使用stdinstdoutstderr。< / p>