代码3

这是id.txt文件,一共有4927行,保持原有行数字不变,现在我需要将其扩展到14457行,并且新出现的每行的数字逐渐增大,为了方便,我就设定每行增加1。

错误代码1

f = open('/home/xbwang/xingyu/data/sick/test/id.txt','r')
a = f.readlines()[4926:]                                    
b = int(a)
for i in range(9600):
    b = b+1
    f1 = open('/home/xbwang/Desktop/id.txt','a')
    f1.write(a+'\n')

这个会在 b=int(a)这一行报错,TypeError:int() argument must be a string or a number,not 'list'
readlines返回的是一个list,print一下会发现是[‘9996\n’]

错误代码2

f = open('/home/xbwang/xingyu/data/sick/test/id.txt','r')
a = f.readlines()[4926:][0]
print a
b = int(a)
for i in range(9600):
    b = b+1
    f1 = open('/home/xbwang/Desktop/id.txt','a')
    f1.write(a+'\n')
你会发现经过[0]处理后,a变成了'9996\n'。list消失了,但这个字符串中还有\n,必须去掉

错误代码3

f = open('/home/xbwang/xingyu/data/sick/test/id.txt','r')
a = f.readlines()[4926:][0]
b=a.strip()
print b
c = int(b)
for i in range(9600):
    c = c+1
    f1 = open('/home/xbwang/Desktop/id.txt','a')
    f1.write(c+'\n')
c为int型,不能+字符串'\n'。并且就算是只写c也是错的,write函数的参数必须是字符串或字符

错误代码4

f = open('/home/xbwang/xingyu/data/sick/test/id.txt','r')
a = f.readlines()[4926:][0]
b=a.strip()
print b
c = int(b)
for i in range(9600):
    c = c+1
    f1 = open('/home/xbwang/Desktop/id.txt','a')
    f1.write('c'+'\n')

这样写会造成后面新生成的行都是c,因为你写的是c字符,而不是c参数

正确代码

f = open('/home/xbwang/xingyu/data/sick/test/id.txt','r')
a = f.readlines()[4926:][0]
b = a.strip()
c = int(b)
print c
for i in range(9600):
    c = c+1
    print c
    f1 = open('/home/xbwang/Desktop/id.txt','a')
    f1.write(str(c)+'\n')

 

posted @ 2017-01-05 12:00  有梦就要去实现他  阅读(260)  评论(0)    收藏  举报