0

不太清楚这个问题如何表达,因此如果您不是特别了解,那么我可以再试一次。

我有一个名为example.txt的文件,我想将它导入到我的 Python 程序中。在这里,我将对其包含的内容和其他不相关的内容进行一些计算。

而不是我导入这个文件,逐行浏览它并提取我想要的信息.. Python 可以代替吗?如,如果我正确构建.txt(无论是每行上由等号分隔的键/值对),是否有当前的 Python“方式”可以处理所有内容并且我可以使用它?

4

3 回答 3

4
with open("example.txt") as f:
    for line in f:
        key, value = line.strip().split("=")
        do_something(key,value)

如果我理解正确的话,这似乎是一个起点。为此,您需要 Python 2.6 或 3.x。

另一个值得关注的地方是csv可以解析逗号分隔值文件的模块 - 您可以告诉它=用作分隔符。这将抽象出前面示例中的一些“手动工作” - 但您的示例似乎并不特别需要这种抽象。

另一个想法:

with open("example.txt") as f:
    d = dict([line.strip().split("=") for line in f])

现在这是简洁和pythonic :)

于 2009-11-04T13:32:11.783 回答
0
for line in open("file")
    key, value = line.strip().split("=")
    key=key.strip() 
    value=value.strip() 
    do_something(key,value)
于 2009-11-04T13:59:38.490 回答
0

还有另一种方法 - 你可以创建一个有效的 python 文件(让它成为一个列表、字典定义或其他任何东西),使用它读取它的内容

f = open('file.txt', r)
content = f.read() #assuming file isn't too long

然后解析它:

parsedContent = eval(content)

您可以将任何环境传递给 eval(请参阅docs),因此它可能无法访问您的全局变量和本地变量。这是邪恶和错误的,但是在不会分发并且不会从网络或所谓的恶意用户那里获取“file.txt”的小程序中- 你可以使用它。

于 2009-11-04T16:32:15.570 回答