过滤掉 Python 中的文件内容

Filtering out file contents in Python

我有一个数据文件,需要区分字母和数字。这是该文件的示例。

Fahrenheit degrees: 67.2
Fahrenheit degrees: 66.0
Fahrenheit degrees: 78.9
Fahrenheit degrees: 102.1
Fahrenheit degrees: 32.0
Fahrenheit degrees: 87.8

最终目标是读取每个数字,将其转换为摄氏度,然后打印出结果。我将使用什么功能逐行向下读取数字?任何帮助表示赞赏。谢谢!

你可以用一个简单的 list comprehension 来做到这一点:

with open("filename.txt") as f:
    numbers = [float(line.split()[2]) for line in f]

您使用 with 上下文管理器打开包含数据的文件,然后遍历文件中的每一行,按空格拆分,并取第三行(Python 中的索引为 0 -based) 字段并将其转换为浮点数。最后,您将获得所有读数的列表。

with 会在您完成文件处理后关闭文件,因此您无需记住稍后将每个 f = open("filename.txt") 与对 f.close() 的调用相匹配。