如何从Python执行Python文件?

问题描述:

我正在尝试从解构文件中执行Python文件。如何从Python执行Python文件?

import utils 
import os 
print(utils.fileReader('holderFile.py')) 
test = utils.fileReader('holderFile.py') 
for i in test: 
    if(i == ''): 
     os.system('') #this allows for it to read spaces in the file 
    else: 
     os.system('python3 ' + i) 
     print(i) 
os.system('python3 exit()') 
#os.system("sudo python scale1.py") 


print('Done') 

它正在运行,但它给了我这个错误

sh: 1: Syntax error: "(" unexpected 
def simpleAdder(i, j): 
sh: 1: Syntax error: "(" unexpected 
    return (i+j) 
sh: 1: Syntax error: "(" unexpected 
simpleAdder(5, 8) 
sh: 1: Syntax error: "(" unexpected 

holderFile.py仅仅是一个简单的加法方法

def simpleAdder(i, j): 
    return (i+j) 

simpleAdder(5, 8) 

我将如何去获得一个Python文件来正确使用执行一种类似于此的方法,或者你会建议我使用什么?

+3

这闻起来像一个[XY问题]文件(HTTP:/ /mywiki.wooledge.org/XyProblem)。你究竟在努力实现什么? – Biffen

+0

utils.fileReader()是做什么的?你为什么不进口呢? – martineau

+0

我通过套接字发送信息,必须将其分解成列表,然后将其重新组装成代码。这样做有一个合理的原因,并不像导入它那么简单。 –

import holderFile 

或者:

from holderFile import simpleAdder 

然后调用simpleAdder正常。

+0

我通过套接字发送信息,必须将其分解成列表,然后重新组装成代码 –

我想通了,并将留给他人线索找到答案,以防他们需要它。

我只是将文件保存到临时文件,然后跑了,而不是试图运行各行

def fileWriter(array, file): 
    f = open(file, 'w+') 
    for item in array: 
     f.write("%s\n" % item) 

os.system('python3 temp.py') 

作品对我来说