擅长:python、mysql、java
<p>正如@BoarGules和@frankegoesdown所解释的,行中有多个空格。如果你想让每行的第一个词成为关键词,其余的词成为你的字典的价值,你可以这样做:</p>
<pre><code>dictionary = {}
with open(r"C:\Users\acer\Desktop\WIEN2k.txt") as file:
for line in file:
key, value = line.strip().split(" ", maxsplit=1)
dictionary[key] = value
print(dictionary)
</code></pre>
<p>要调试此类问题,只需存储中间结果并打印,如:</p>
<pre><code>dictionary = {}
with open(r"C:\Users\acer\Desktop\WIEN2k.txt") as file:
for line in file:
fields= line.strip().split(" ")
print('list {l] has {n} elements'.format(l=fields, n=len(fields))
key, value = fields
dictionary[key] = value
print(dictionary)
</code></pre>
<p>并执行代码或在调试器中运行它。从上面的输出中,您将看到,您的一些行生成了包含两个以上元素的列表,并且在打印这些行之后,您就得到了您提到的错误。你知道吗</p>