2013-08-17 3 views
0

Я пытаюсь получить Python для печати содержимого файла:Как получить Python для печати содержимого файла

log = open("/path/to/my/file.txt", "r") 
print str(log) 

дает мне выход:

<open file '/path/to/my/file.txt', mode 'r' at 0x7fd37f969390> 

Вместо печать файла. В файле есть только одна короткая строка текста, и когда я делаю противоположное (записывая user_input из моего скрипта Python в тот же файл), он работает правильно.

Редактировать: Я вижу, что Python думает, что я прошу об этом, мне просто интересно, что команда печатать что-то изнутри файла.

+0

Попробуйте прочитать [официальную документацию] (http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files), может быть? – l4mpi

+1

'print (open ('/ path/to/file' [," r "]). Read())' – kojiro

ответ

6

open предоставляет вам итератор, который автоматически не загружает весь файл сразу. Он перебирает по линии, так что вы можете написать цикл следующим образом:

for line in log: 
    print(line) 

Если все, что вам нужно сделать, это распечатать содержимое файла на экран, вы можете использовать print(log.read())

5

Лучше справиться с этим с «с», чтобы закрыть дескриптор автоматически для вас. Это будет работать с 2.7 и Python 3.

with open('/path/to/my/file.txt', 'r') as f: 
    print(f.read()) 
2

open() будет на самом деле открыть file object для вас читать. Если ваше намерение прочитать все содержимое файла в переменную журнала, то вы должны использовать read()

log = open("/path/to/my/file.txt", "r").read() 
print log 

Это будет распечатать содержимое файла.

0
file_o=open("/path/to/my/file.txt") //creates an object file_o to access the file 
content=file_o.read()     //file is read using the created object 
print(content)      //print-out the contents of file 
Смежные вопросы