Синтаксическая ошибка при вызове exec в PythonPython

Программы на Python
Ответить
Anonymous
 Синтаксическая ошибка при вызове exec в Python

Сообщение Anonymous »

Быстрый вопрос по Python о команде exec. У меня Python 2.7.6, и я пытаюсь использовать exec для запуска кода, хранящегося в файле .txt. Я столкнулся с синтаксической ошибкой и не совсем понимаю, что ее вызвало.

Код: Выделить всё

Traceback (most recent call last):
File "/Users/XYZ/Desktop/parser.py", line 46, in 
try_code(block)
File "", line 1
x = 'Hello World!'
^
SyntaxError: invalid syntax
Сначала я думал, что он жалуется на возврат каретки, но когда я попытался отредактировать их .заменить на ' ', я все равно получил это сообщение об ошибке. Я пробовал варианты, чтобы увидеть, в чем проблема, и он всегда объявляет ошибку как первую ' или ", с которой программа сталкивается при запуске exec.

Вот метод try_code(block)

Код: Выделить всё

def try_code(block):
exec block
И основная часть программы

Код: Выделить всё

inputFile = open('/Users/XYZ/Desktop/test.txt', 'r+')

starter = False
finished = False
check = 1
block = ""

for val in inputFile:
starter = lookForStart(val)
finished = lookForEnd(val)

if lookForStart:
check = 1
elif finished:
try_code(block)

if check == 1:
check = 0
elif finished == False:
block = block + val
По сути, я пытаюсь импортировать файл (test.txt), а затем искать в нем встроенный код. Чтобы было проще, я окружил его индикаторами, то есть начал и закончил. Затем я объединяю весь скрытый код в одну строку и вызываю для нее try_code. Затем try_code пытается его выполнить (он делает это, проверьте с помощью операторов печати) и терпит неудачу с синтаксической ошибкой.

Примечание: все работает нормально, если я скрыл что-то вроде...

Код: Выделить всё

x = 5
print x
поэтому, какая бы проблема ни была, по какой-то причине она связана со строками.



РЕДАКТИРОВАТЬ

Похоже, что textedit содержит некоторые дополнительные символы, которые не отображаются нормально. Я переписал тестовый файл в другом текстовом редакторе (text wrangler) и казалось бы, символы исчезли. Большое спасибо всем за помощь в решении моей проблемы, я это ценю.

Подробнее здесь: https://stackoverflow.com/questions/200 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»