将文本文件读入dic文件会导致dic fi不完整

2024-10-16 17:17:48 发布

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

以下文件2016\u 01\u 22_Reps.txt文件是我想放入python dic文件的扩展收缩列表; “不能”:“不能”,“可能已经”:“可能已经”,“可能已经”:“可能已经”,“没有”:“没有”,“没有”:“没有”,“没有”:“没有”,“没有”:“没有”,“没有”:“没有”,“没有”:“没有”,“没有”:“没有”,“没有”:“没有”,“我会”:“我会”,“我会”:“我是”,“我已经”:“我有”,“不是”:“不是”,“我会”:“我” 请注意,内容是单行,而不是多行。你知道吗

我的代码如下:

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文件的说明和解释将不胜感激。你知道吗


Tags: 文件代码txt内容列表forlineopen
1条回答
网友
1楼 · 发布于 2024-10-16 17:17:48

问题是您的值都在一行上,所以您的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)

在这里,您拆分行,然后遍历该列表,而不是文件中的行。我还使用了^{} keyword来打开您的文件—这是更好的做法。你知道吗

相关问题 更多 >