Сейчас я прорабатываю трудный путь по изучению Python, упражнение 15. Сценарий, который я пытаюсь запустить:

from sys import argv

script, filename = argv

txt = open(filename)

print("Here's your file %r:" %(filename)
print txt.read()

print("Type the filename again:")
file_again = raw_input(> ")

text_again = open(file_again)

print txt_again.read()

Когда я запускаю скрипт, я получаю сообщение об ошибке: «Неверный синтаксис», и он указывает на часть кода «print txt.read» (строка 5).

Как уже говорилось, я использую Python 3, и я знаю, что эта книга написана для Python 2. Поэтому мой вопрос: что такое эквивалент Python 3 для «print txt.read»?

Большое спасибо

-1
SnakeInTheGrass 18 Дек 2015 в 21:50

3 ответа

Лучший ответ

В дополнение к тому, что print должен быть функцией (т. Е. print()), в вашем примере отсутствует начальная кавычка в строке для raw_input. Так должно быть:

file_again = raw_input("> ")

И вам не хватает закрывающих скобок в одной из строк print.

0
Brian 18 Дек 2015 в 18:52

Попробуйте инкапсулировать это, то, что я сделал, это:

print(txt.read())

Я использую Python 3.

-2
nassim 21 Май 2019 в 12:19
print(txt.read())

print - это вызов функции в Python 3

2
vks 18 Дек 2015 в 18:51