以下文件2016_01_22_Reps.txt是我要放入python dic文件的扩展收缩列表; “不能”:“不能”,“可能”:“可以”,“可能”:“可能有”,“没有”:“没有”,“没有”:“不“,”不要“:”不要“,”没有“:”没有“,”没有“:”没有“,”没有“:”没有“,”我'll':“我会”,“我是”:“我是”,“我是”:“我有”,“不是”:“不是”,“我会”:“我 请注意,内容是单行,而不是多行。
我的代码如下;
reps = open('2016_01_22_Reps.txt', 'r')
Reps1dic={}
for line in reps:
x=line.split(",")
a=x[0]
b=x[1]
c=len(b)-1
b=b[0:c]
Reps1dic[a]=b
print (Reps1dic)
Reps1dic的输出在前两对收缩后停止。内容如下;
{‘2016_01_22Reps = {“can\’t”:”cannot”‘ : ‘”could\’ve”:”could have’}
非常感谢有关未将完整文件内容写入dic文件的原因的说明和解释。
答案 0 :(得分:2)
问题是你的值都在一行上,所以你的for line in reps
只经过一次迭代。做这样的事情:
with open('2016_01_22_Reps.txt', 'r') as reps:
Reps1dic={}
contents = reps.read()
pairs = contents.split(',')
for pair in pairs:
parts = pair.split(':')
a = parts[0].replace('"', '').strip()
b = parts[1].replace('"', '').strip()
Reps1dic[a] = b
print(Reps1dic)
您拆分该行,然后遍历该列表而不是文件中的行。我还使用with
keyword打开你的文件 - 这是更好的做法。