代码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+'
')

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

错误代码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+'
')
你会发现经过[0]处理后,a变成了'9996 '。list消失了,但这个字符串中还有 ,必须去掉

错误代码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+'
')
c为int型,不能+字符串' '。并且就算是只写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'+'
')

这样写会造成后面新生成的行都是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)+'
')
原文地址:https://www.cnblogs.com/ymjyqsx/p/6251829.html