• 错误代码9


    自己在写从文件循环读每个句子的时候出现问题

    错误1:

    f=open('/home/xbwang/Desktop/scen_test_sim.csv','r')
    while True:
        line=f.readline()
        if line==None:
            break
        a=line.strip().split('","')[1:]
        if len(a) >= 10:
            flag = 0
            for i in range(10):
                flag = flag +1
                con = a[i]
                fl1 = open('/home/xbwang/Desktop/b.txt','a')
                fl1.write(con + '
    ')
                if(flag == 10) :
                    print(con)
            print(flag)
    f.close

    错误2:

    f=open('/home/xbwang/Desktop/all_vectors','r')
    while True :
        line=f.readline()
        if line == None : break
        a=line.split()
        b=a[0]
        print(b)
        f1=open('/home/xbwang/Desktop/a.txt','a')
        f1.write(b+'
    ')

    用这两个代码读文件后,会发现命令行中循环一直没有中止,并且会发现,第一个少了最后一行最后一个“哦,谢谢”,第二个少了最后一个vector的最后一个坐标,导致只有99维。这两个错在一个地方,都是用line == None去判断循环是否结束,在python中没有这种写法。

    正确写法有以下两种:

    正确1:

    f=open('/home/xingyuzhou/Desktop/scen_test_sim.csv','r')
    line=f.readline()
    while line:
        a=line.strip().split('","')[1:]
        if len(a) >= 10:
            flag = 0
            for i in range(10):
                flag = flag +1
                con = a[i]
                fl1 = open('/home/xingyuzhou/Desktop/b.txt','a')
                fl1.write(con + '
    ')
                if(flag == 10) :
                    print(con)
            print(flag)
        line=f.readline()
    f.close

    正确2:

    f = open('/home/xbwang/Desktop/otherscore.txt','r')
    for line in f:
        a = line[2:]
        b = a[:-5]
        print b
        f1 = open('/home/xbwang/Desktop/otherscore1.txt','a')
        f1.write(b+'
    ')
  • 相关阅读:
    第三章 p62 或运算
    p57 字符串的长度
    p53 ASCII码
    整数类型,如同时钟
    重要:原码、反码、补码...
    p42 实验溢出(上溢)
    P40 字节单位:KMGT
    p38 二、八、十六进制的对应关系
    p13 数组元素的地址
    p11 内存中的数据和地址
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6297140.html
Copyright © 2020-2023  润新知