如何让Python打印文件的内容

时间:2013-08-17 17:57:20

标签: python linux bash

我正在尝试让Python打印文件的内容:

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

给我输出:

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

而不是打印文件。该文件中只有一个短文本字符串,当我执行相反的操作时(将我的Python脚本中的user_input写入同一个文件)它可以正常工作。

编辑:我看到Python认为我在问它,我只是想知道从文件内部打印内容的命令是什么。

4 个答案:

答案 0 :(得分:9)

最好用“with”来自动关闭描述符。这适用于2.7和python 3。

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

答案 1 :(得分:8)

open为您提供了一个不会立即自动加载整个文件的迭代器。它逐行迭代,因此您可以像这样编写一个循环:

for line in log:
    print(line)

如果您只想将文件内容打印到屏幕,则可以使用print(log.read())

答案 2 :(得分:2)

open()实际上会打开file object供您阅读。如果您打算将文件的完整内容读入日志变量,那么您应该使用read()

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

这将打印出文件的内容。

答案 3 :(得分: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
file_o.close()