Команда Python не читает файл .txt - PullRequest
3 голосов
/ 20 октября 2010

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

http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files

file = open("C:/Test.txt", "r");
print file
file.read()
file.read()
file.read()
file.read()
file.read()
file.read()

Использование метода readline () дает те же результаты.

file.readline() 

ВыводЯ получаю это:

<open file 'C:/Test.txt', mode 'r' at 0x012A5A18>

Любые предложения о том, что может быть не так?

Ответы [ 4 ]

7 голосов
/ 20 октября 2010

Там нет ничего плохого. file - это объект, который вы печатаете.

Попробуйте это:

file = open('C:/Test.txt', 'r')
for line in file.readlines(): print line,
2 голосов
/ 20 октября 2010

print file вызывает функцию __repr__() объекта file, которая в этом случае определяется как возвращающая только то, что напечатано.Чтобы распечатать содержимое файла, вы должны read() содержимое в переменную (или передать его непосредственно print).Кроме того, file является встроенным типом в Python, и, используя file в качестве имени переменной, вы скрываете встроенное, что почти наверняка не то, что вам нужно.То, что вы хотите, это:

infile = open('C:/test.txt', 'r')
print infile.read()
infile.close()

Или

infile = open('C:/test.txt', 'r')
file_contents = infile.read()
print file_contents
infile.close()
1 голос
/ 20 октября 2010
print file.read()
0 голосов
/ 20 октября 2010

Вы должны сначала прочитать файл!

file = open("C:/Test.txt", "r")
foo = file.read()
print(foo)

Вы также можете написать:

file = open("C:/Test.txt", "r").read()
print(file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...