我环顾四周,但尚未真正找到解决方案。我有外部TXT文件,其中包含用逗号分隔的字符串,每个“项目”都在换行符上:
item1: value1
item2: value2
等。你明白了。
我正在创建适用于字典的脚本,我需要将文件转换为Python字典。我仍然是新手,所以有点迷路。
我已经尝试过这个,我在这里找到了字符串到字典:
dict((key,None)表示string.split(':')中的键)
但是我无法弄清楚如何用代表密钥值的某物代替“无”。我确实尝试了dict((key,value))但无法识别'value'。
您可以这样解决:
dict((key, value) for key, value in [string.split(': ')])
请注意,如果': '
字符串中包含多个,则此操作将失败。
这种和平的代码如下所示:
>>> string = 'hello: world'
>>> string.split(': ')
['hello', 'world']
>>> a, b = string.split(': ')
>>> a
'hello'
>>> b
'world'
值将以这种方式为字符串。例如,如果它们应该是整数,请使用(key, int(value))
。如果没有整数值,这也不是安全的。
备注:从标记问题的Python 2.7开始,您可以使用字典理解。这有点干净:
{key: value for key, value in [string.split(': ')]}
但是,这将使您获得许多大小为1的字典。我认为您将需要以下内容:
{key: value for line in fileobject.readlines() for key, value in [line.split(': ')]}
您也可以直接使用拆分:
dict(tuple(string.split(': ')) for string in fileobject.readlines())
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句