将txt文件作为字典加载到python脚本中

2024-09-30 05:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个txt文件(字典.txt)我想作为字典载入我的脚本。 我怎么能这么做?你知道吗

文件字典.txt你知道吗

{'YAL008W': 25, 'YBR255W': 50, 'YGR164W': 37, 'YGR131W': 40, 'YNL003C': 11,
'YBR135W': 2, 'YBR160W': 6, 'YJL082W': 79, 'YJL142C': 4, 'YPL191C': 38,
 'YGL215W': 31, 'YKL074C': 33, 'YJL077C': 67, 'YKL096W-A': 22, 'YIL124W': 60,
 'YLR364C-A': 2, 'YPL039W': 58, 'YNL170W': 16, 'YGL141W': 62, 'YJL179W': 15,
 'YDR316W-A': 13, 'YDR316W-B': 139, 'YKL083W': 25, 'YOR009W': 25,
 'YKL029C': 395, 'YPL166W': 31, 'YKL052C': 20, 'YOL034W': 29, 'YBL008W': 42,
 'YIL062C': 2, 'YCL023C': 27}

代码:

f=open('dictionary.txt', 'r') 

with f as dic1:
     dictionary1=eval(dic1.read())   

这输入它作为一个字典,但我想知道是否有一个更快的方法这样做。你知道吗


Tags: 文件txt脚本字典dic1ybr160wybr255wygr164w
2条回答

它不太可能更快或更慢,但是您可以通过避免eval(它可以执行任意代码,这会带来很大的安全性和稳定性风险)而支持^{};这与eval类似,但只适用于Python文本,而不是任意代码。根据格式的不同,还可以使用^{}json.loads。你知道吗

您的dictionary.txt几乎是JSON,因此我建议您这样做:

import json
with open('dictionary.txt') as data_file:
    data = data_file.read()
# Convert single quotes to double quotes to get JSON syntax
data = data.replace('\'', '"')
data = json.loads(data)
for key, val in data.iteritems():
    print "%s = %s" % (key, val)

对于dictionary.txt,这个输出

YOL034W = 29
YAL008W = 25
...
YKL052C = 20

注:省略号用于缩写输出。你知道吗

相关问题 更多 >

    热门问题