我是Python脚本编写新手。有一个文件,其中包含以下数据无法将第二行添加到Python中的字典
Cascade.from = testvalue1
cascade.from1 = testvalue2
上述上下文位于test.txt中。我曾经为了写了下面的代码,把这个字典把它拿来以后的代码是运行在上面的代码之后,如下
myvalue = {}
with open('test.txt', 'r') as myfile:
for line in myfile:
name, val = line.split('=')
myvalue[name] = str(val.strip())
print myvalue
,我只看到下面的数据 {"cascade.from": "testvalue1"}
它不读下一行和它的没有被添加到字典中。 我的期望是:{"cascade.from": "testvalue1", "cascade.from1": "testvalue2"}
。所以,当拨打电话myvalue["cascade.from1"]
它应该反过来testvalue2
任何人都可以让我知道什么是在这里失踪?
以上只是一个函数中的一小块,这里是我的代码完成的事情
def readlocalfile():
os.chdir(sub_dir)
print ("prinintng current directory" + os.getcwd())
file = open(config_file,'r')
file_read = file.readlines()
myvars = {}
with open(config_file) as myfile:
for line in myfile:
name, var = line.split("=")
myvars[name] = str(var.strip())
print myvars
replace_val = myvars["cascade.from1"]
print ("the base value is "+ replace_val)
荫调用这个函数外,它抛出一个KeyError异常
你缺少':'后'... as myfile'。但是,这应该导致崩溃,而不是你遇到的问题。我添加了':'并尝试了代码,它适用于我。 – Cleared
@Cleared为MYFILE我已经加入后:但仍然不是为我工作:( –
这是真的,你已经尝试的代码是不是你的代码的纯副本或有你“改写”,它只是这个问题的原因?即时通讯问是因为你有两个错别字到目前为止,这两个会导致崩溃。我已经试过上面的代码,它适用于我... – Cleared