擅长:python、mysql、java
<p>您的问题是,当文件中有空行时,<code>line[0]</code>不存在。要解决此问题,请尝试此版本:</p>
<pre><code>endofprogram = False
dic = {}
try:
filename = input("Please Enter the Filename:")
infile = open(filename, 'r')
except IOError:
print("Error Reading File! Program ends here!")
endofprogram = True
if endofprogram == False:
for line in infile:
line = line.strip("\n")
if len(line):
if line[0] != "#":
item = line.split(":")
print(items)
dic["Animal id"] = item[0]
dic["Date"] = item[1]
dic["Station"] = item[2]
print(dic)
</code></pre>
<p>同样值得注意的是,在循环的每次迭代中都会覆盖<code>dic</code>。所以循环完成后,<code>dic</code>将只包含文件最后一行的信息。你知道吗</p>