不太确定如何说出这个问题,因此如果你不特别理解它,那么我可以再试一次。
我有一个名为 example.txt 的文件,我想将它导入我的Python程序。在这里,我将对其中包含的内容和其他不相关的内容进行一些计算。
而不是我导入这个文件,逐行浏览并提取我想要的信息..而Python可以代替吗?就像在,如果我正确地构造 .txt (无论它是由每行上的等号分隔的键/值对),是否有当前的Python'方式'它可以处理它所有我与之合作?
答案 0 :(得分: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:)
答案 1 :(得分:0)
for line in open("file")
key, value = line.strip().split("=")
key=key.strip()
value=value.strip()
do_something(key,value)
答案 2 :(得分:0)
还有另一种方法 - 你可以创建一个有效的python文件(让它成为列表,dict定义或其他任何东西),使用
读取其内容f = open('file.txt', r)
content = f.read() #assuming file isn't too long
然后解析它:
parsedContent = eval(content)
您可以将任何环境传递给eval(请参阅docs),因此它可能无法访问您的全局变量和本地变量。这是 evil 并且错误,但是在小程序中,不会被分发,也不会从网络或所谓的恶意用户获取'file.txt' - 你可以使用它。