针对1.txt文件进行操作
#导入codecs模块,此模块可以解决Python读取文件编码的问题
例子1
import codecs
#打开1.txt文件
f = codecs.open(‘1.txt‘)
text = f.read()
#使用replace方法将text字符串中的a替换为1
a = text.replace(‘a‘,‘1‘)
print (f.read())
print a
#关闭文件
例子2
f.close()
import codecs
f = codecs.open(‘2.txt‘,‘w‘)
f.write(‘This is a TEST file!‘)
f.close
replace()方法可以针对读取的文件进行替换操作
open(‘filename’,mode)读取文件
mode 参数为r读 w写 b二进制读取 a追加写入
readline()方法是读取文件的一行
f.redline()
next()方法为读取打开文件光标的下一行
f.next()
readlines()方法可将文件内容读取为一个列表,文件中的行就是列表中的元素,程序中第二次使用readlines方法的时候会从第一次读取的末尾继续读取
#codecs.open()默认mode为rb,所以读取为二进制
f = codecs.open(‘2.txt‘)
print f.readlines()
f.close
输出:[‘This is a TEST file!\r\n‘, ‘1\r\n‘, ‘2\r\n‘, ‘3‘]
write()和writelines()方法是写入文件,writelines需要传一个列表
f = codecs.open(‘2.txt‘,‘wb‘)
f.write(‘abc\n def\n‘)
f.writelines([‘1\n‘,‘2\n‘,‘3\n‘])
f.close
tell()方法可以输出调用之前有多少个字符
seek()方法可以移动在文件中的光标,seek(0)是移动到最前,移动光标后则从0字符开始替换之前内容
import codecs
f = codecs.open(‘2.txt‘,‘wb‘)
f.write(‘abc\ndef\n‘)
f.writelines([‘1\n‘,‘2\n‘,‘3\n‘])
print f.tell()
f.seek(0)
f.write(‘hhh‘)
f.close
#查看文件名称
print f.name
#查看文件的打开mode方式
print f.mode
#刷新文件到缓存中
print f.flush()
#查看文件的编码格式,未指定输出None
print f.encoding
文件中with语句的用法
with codecs.open(‘1.txt‘) as ff:
print ff
例子1 输出文件的第几行内容
#linecache.getlines(‘a.txt‘)Python中已有的方法,可以查看源码学习
with codecs.open(‘1.txt‘) as ff:
for line,num in enumerate(ff):
if line == 3-1:
print num
本文出自 “粗粮面包” 博客,请务必保留此出处http://culiangmianbao.blog.51cto.com/10475024/1977149
原文:http://culiangmianbao.blog.51cto.com/10475024/1977149