文件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’
line = f.readline()
line = line[:-1]
2. 字符串相加:
line += ' hello'