Python 如何以key=value格式解析文件
我有一个格式为的文本文件Python 如何以key=value格式解析文件,python,Python,我有一个格式为的文本文件 key1=value1 key2=value2 key3=value3 读入它的最佳方式是什么,这样我就可以访问像myObject.key1或myObject[“key1”]?这样的格式的值: myObject = {} with open("something.ini") as f: for line in f.readlines(): key, value = line.rstrip("\n").split("=") myObject[key]
key1=value1
key2=value2
key3=value3
读入它的最佳方式是什么,这样我就可以访问像myObject.key1
或myObject[“key1”]
?这样的格式的值:
myObject = {}
with open("something.ini") as f:
for line in f.readlines():
key, value = line.rstrip("\n").split("=")
myObject[key] = value
请注意,正如下面提到的@Goodies,如果多次分配给同一个键,则只取最后一个值。然而,添加一些错误处理并不重要:
myObject = {}
with open("something.ini") as f:
for line in f.readlines():
key, value = line.rstrip("\n").split("=")
if(not key in myObject):
myObject[key] = value
else:
print "Duplicate assignment of key '%s'" % key
大概是这样的:
myObject = {}
with open("something.ini") as f:
for line in f.readlines():
key, value = line.rstrip("\n").split("=")
myObject[key] = value
请注意,正如下面提到的@Goodies,如果多次分配给同一个键,则只取最后一个值。然而,添加一些错误处理并不重要:
myObject = {}
with open("something.ini") as f:
for line in f.readlines():
key, value = line.rstrip("\n").split("=")
if(not key in myObject):
myObject[key] = value
else:
print "Duplicate assignment of key '%s'" % key
如果我是你,我会用字典。如果您的应用程序接受使用字典,请尝试此操作
with open('your_file_name') as f:
content = f.readlines()
myDict = {}
for line in content:
a, b = line.split('=')
myDict += {a:int(b)}
如果我是你,我会用字典。如果您的应用程序接受使用字典,请尝试此操作
with open('your_file_name') as f:
content = f.readlines()
myDict = {}
for line in content:
a, b = line.split('=')
myDict += {a:int(b)}
经典的一行
x = dict((kv.split('=') for kv in (l.strip('\n') for l in open('hello.txt'))))
其结果是:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
经典的一行
x = dict((kv.split('=') for kv in (l.strip('\n') for l in open('hello.txt'))))
其结果是:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
你可以用正则表达式来做
import re
with open('/path/to/file', 'r') as f:
matches = re.findall(r'^(.+)=(.*)$', f.read(), flags=re.M)
d = dict(matches)
print d['key']
请注意,如果文件中有重复的密钥,则最后找到的密钥将与其他密钥形成阴影
如果您希望能够执行d.key3
,可以使用该软件包
你可以用正则表达式来做
import re
with open('/path/to/file', 'r') as f:
matches = re.findall(r'^(.+)=(.*)$', f.read(), flags=re.M)
d = dict(matches)
print d['key']
请注意,如果文件中有重复的密钥,则最后找到的密钥将与其他密钥形成阴影
如果您希望能够执行d.key3
,可以使用该软件包
我想知道这是否有用。。。我自己从来没用过。哦,是的。configparser是一个非常有用的模块。您可以使用
key=value
或key:value
。configparser可能有用,但前提是您能够稍微重新格式化文本文件。文本文件必须看起来有点不同。。。特别是afaik,您需要定义一些部分…可能的副本我想知道在这里是否有用。。。我自己从来没用过。哦,是的。configparser是一个非常有用的模块。您可以使用key=value
或key:value
。configparser可能有用,但前提是您能够稍微重新格式化文本文件。文本文件必须看起来有点不同。。。特别是afaik,您需要定义一些部分…可能重复的几乎太简单和工作。请记住,如果你有一个副本,它将采取最后一个值。几乎太简单,工作。请记住,如果您有一个副本,它将采用最后一个值。