如何在 Python 中打开文本文件?

Ale*_*rne 5 python filehandler python-3.x

目前我正在尝试打开一个名为“temperature.txt”的文本文件,我使用文件处理程序保存在我的桌面上,但是由于某种原因我无法让它工作。谁能告诉我我做错了什么。

#!/Python34/python
from math import *

fh = open('temperature.txt')

num_list = []

for num in  fh:
    num_list.append(int(num))

fh.close()
Run Code Online (Sandbox Code Playgroud)

Ton*_* 66 5

这样做的pythonic方法是

#!/Python34/python

num_list = []

with open('temperature.text', 'r') as fh:
    for line in fh:
        num_list.append(int(line))
Run Code Online (Sandbox Code Playgroud)

您不需要在此处使用 close,因为 'with' 语句会自动处理。

如果您对列表推导感到满意 - 这是另一种方法:

#!/Python34/python

with open('temperature.text', 'r') as fh:
    num_list = [int(line) for line in fh]
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,'temperature.text' 都必须在您的当前目录中。


Moa*_*ant 0

您只需要在 fh 上使用 .readlines()

像这样:

#!/Python34/python
from math import *

fh = open('temperature.txt')

num_list = []

read_lines = fh.readlines()
for line in read_lines:
    num_list.append(int(line))

fh.close()
Run Code Online (Sandbox Code Playgroud)

  • 这实际上不是真的。调用“readlines”会将整个文件加载到内存中 - 但不管它,内存中一次只会有一行,这使得处理更大的文件更加高效。 (2认同)