2014-11-05 5 views
0

У меня есть два файла, и мне нужно turtle_directions.py, чтобы читать указания в test.txt. Я пытался работать над этим, но он просто не будет читать и действовать по моим командам, любая помощь будет высоко оценена.Как заставить python 3 действовать на команды из text.txt

import turtle 

window = turtle.Screen() 
spoc = turtle.Turtle() 

def line(): 
    contents = [] 
    with open('test.txt') as f: 
     for line in f: 
      row = line.split() 
      contents.append(row) 
      print(contents) 

line() 

window.exitonclick() 

Текстовый файл Я пытаюсь получить эту программу, чтобы прочитать это test.txt

pendown 
color gold 
goto 50 50 
goto 50 100 
circle 10 

Любая помощь будет НАМНОГО appriciated, я застрял на это, так как вчера

EDIT: У меня есть команды в списке, они просто думают, что они являются строками, а не командами:/

ответ

0

«Команды» в text.txt не соответствуют синтаксису Python. Вы должны либо использовать правильный синтаксис Python, либо выполнить код, либо написать собственный интерпретатор. Я полагаю, вы хотите сделать первое. Команда должна быть такой же, как если бы она находилась в самом файле или вводилась в интерактивном режиме.

Для целей тестирования легче поместить текст в виде многострочной строки в том же файле. Вы можете позже добавить text = file.read(). Следующее, с двумя указанными изменениями, работает.

import turtle as t 
window = t.Screen() 

text = ''' 
t.pendown() 
t.color('gold') 
t.goto(50, 50) 
t.goto(50, 100) 
t.circle(10) 
''' 

exec(text) 

Только одно предупреждение: не используйте exec() с кодом, который вы сами не пишете или не доверяете.