file 文件

来源:互联网 发布:淘宝里要验证码充流量 编辑:程序博客网 时间:2024/06/05 06:20

1.文件的读取

读取一个文件需要 打开文件->读取文件->关闭文件

import codecsf = codecs.open('text')          #打开文件#print f.read()                  #读取文件text1 = f.read()cc = text1.replace('a','A')      #替换文件中的a 为Aprint ccprint dir(f)     #查看所有文件的操作方式f.close()        #关闭文件


2. 写文件

codecs 模块是解决文件乱码文件

codecs.open(filename,mode)

  mode里参数:r是读 w是写  a追加

import codecsf = codecs.open('1.txt','w')        #写一个1.txt的文件f.write('hello world\n')            # 写入内容f.write('python is so easy\n') g = codecs.open('1.txt','a')        #打开追加g.write('hello man\n')              #追加内容g.write('feel so cool\n')f.close()                           #关闭文件print g                             


3. file的常用方法

_readlines()  

将文件中每行生成字符串在一个列表中。

import codecsf = codecs.open('1.txt','rb')#print dir(f)#list1 = f.readlines()#print (list1[0])print f.readlines()f.close()

_readline()

读取文件一行的内容。读取之后就不再读取,重复读取下一行。

import codecsf = codecs.open('1.txt','rb')print f.readline()      #第一行print f.readline()      #第二行print f.readline()      #第三行print f.next()          #读取下一行f.close()

write() 必须写入一个字符串,跟 read()类似

writelines()  必修写入列表

f = open('file2','wb')f.write('hello world\n biubiubiubiu\npython\nheiheihei\n')   #wirte直接写
f.writelines(['aaaaaa\n','bbbbbbbbbb\n','cccccccc'])         # wirtelines要在列表里写f.close()
这就是区别



f.tell() 当前有多少字符

f.seek(0) 0是开头覆盖掉前面的字符

import codecsf = codecs.open('file2','wb')f.write('hello world\n biubiubiubiu\npython\nheiheihei\n')print (f.tell())f.writelines(['aaaaaa\n','bbbbbbbbbb\n','cccccccc'])f.seek(0)f.write('learn python make me feel so cool')file.flush()                          #刷新print (file.name)                     #名字print (file.closed)                   #检查是否关闭 Flaseprint (file.mode)                     #打开方式f.close()print (file.closed)                   # true 已关闭文件


4.file的with的用法

with....as.

如果不用with语句

f = codecs.open('1.txt','rb')print (f.read())f.close()


使用with语句

with codecs.open('1.txt','rb') as fd:    print fd.read()print fd.closed
使用with可以自动结束文件的句柄,还能处理异常。