2017-01-22 5 views
-1

Я пытаюсь выполнить файлы 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()' do? Почему вы не импортируете его? – martineau

+0

Я отправляю информацию через сокет и должен разбить его на список, а затем собрать его в код. есть веская причина для этого, это не так просто, как импортировать его. –

ответ

2
import holderFile 

Или:

from holderFile import simpleAdder 

И затем вызвать simpleAdder нормально.

+0

Я отправляю информацию через сокет и должен разбить его на список, а затем собрать его в код –

0

Я понял это и оставил поток открытым для других, чтобы найти ответ, если он когда-нибудь понадобится.

я просто сохранил файл во временный файл, а затем побежал файл вместо того, чтобы пытаться запустить отдельные линии

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

os.system('python3 temp.py') 

работает для меня

Смежные вопросы