文件123内容

123
456
789

操作:

f = open('123','r')
line = f.readline()
print line[0] #1
print line[-1] #\n 回车
print line[1,-1] #23,注意从1 到-1 但是不包括line[-1],而包括开始位置line[1]

注意:

f.readline()完成后最后一个字符是 ‘\n’,此时光标已经定位到了下一行的第0个位置

但是读第三行时 print line[-1]是9而不是'\n',因为此时最后一行不存在换行符

那么这样就好解决这个问题了:想在第一行后面加'hello',这样编程就错了:

f = open('123','r+')
f.readline()
f.seek(-1,1) #定位到\n前
f.write('hello')
f.close()

结果:

123
hello
789

没有在第一行写反到第二行了,这是因为原来的格局已定了,要想实现可以这样:

f = open('123','r+')
g = open('1234','w')
line = f.readline()
line = line[:-1] + ' hello\n'
g.write()
g.write(f.readline())
g.write(f.readline())
f.close()
g.close()

其中用到了几个技巧:

1. 去除最后的回车键‘\n’

f.readline()
line = line[:-1]

2.  字符串相加:

line += ' hello'