2024-10-03 19:32:45 发布
网友
我有一个头文件和txt文件中的值列表,我想读和写进字典。其中名称是键,0或1是值。你知道吗
txt文件的格式如下所示:
#define NAME 0 #define MOREOFTHESAME 1
名称的长度都不同,但值都是0或1。 我还想从每行中去掉#define。你知道吗
您可以在这里使用dict,dict需要一个带有键值对的序列。您可以使用str.split分割行,并使用列表切片将最后两项传递给dict。你知道吗
dict
str.split
with open('abc') as f: dic = dict(line.split()[1:] for line in f) >>> print(dic) {'NAME': '0', 'MOREOFTHESAME': '1'}
str.split示例:
>>> strs = "#define MOREOFTHESAME 1" >>> strs.split() ['#define', 'MOREOFTHESAME', '1'] >>> strs.split()[1:] ['MOREOFTHESAME', '1']
使用dict理解(适用于py2.7+):
with open('abc') as f: dic = {k:v for k,v in (line.split()[1:] for line in f)} ... >>> dic {'NAME': '0', 'MOREOFTHESAME': '1'}
只需在每个空格处拆分行,忽略第一个空格:
with open('myFile.txt', 'rb') as fil: myDict = {} for line in fil: _, key, value = line.split() myDict[key] = value
您可以在这里使用
dict
,dict
需要一个带有键值对的序列。您可以使用str.split
分割行,并使用列表切片将最后两项传递给dict
。你知道吗str.split
示例:使用dict理解(适用于py2.7+):
只需在每个空格处拆分行,忽略第一个空格:
相关问题 更多 >
编程相关推荐