(七)File 文件的操作

一、文件读写模式

1、文件的几种模式:

格式:f=open("文件名","模式",encode="utf-8")

1 #文件的只读模式
2 f1=open("test1","r",encoding="utf-8") #encoding="utf-8"可以不写
3 print(f1.read())
4 #文件只写模式,文件如果不存在,则创建,存在写入内容会覆盖原来的
5 f2=open("test2","w",encoding="utf-8")
6 f2.write("q5ert\n")
7 #文件追加模式,通常用于写日志
8 f3=open("test2","a",encoding="utf-8")
9 f3.write("1213\n1234")

"+" 表示可以同时读写文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

 "b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 注:以b方式打开时,读取的是byte类型

 1 # #读写模式、先读后写
 2 # f1=open("test1","r+")
 3 # print(f1.read())
 4 # f1.write("qqqqqqqqqq")
 5 # #写读模式,先写后读
 6 # f2=open("test2","w+")
 7 # f2.write("qqqqqqqqqq")
 8 # f2.read()
 9 # print(f2.read())
10 #追加写读
11 f2=open("test2","a+")
12 f2.write("wwwwwwww")
13 
14 # f1=open("test1","rb")  #不需要指定编码
15 # print(f1.read())
16 # #b'0000000000\r\n1111111111\r\n2222222222\r\n3333333333\r\n4444444444\r\n5555555555'


3、文件的修改,例如将test2中的文件内容修改成test1的内容

1 import os
2 with open('test1','r',encoding="utf-8") as f1,\  
3         open('test2','w',encoding="utf-8") as f2:
4     for i in f1:
5         f2.write(line)
6 
7 os.remove('test1')
8 os.rename('test2','test3')


如果我们对文件其中某个内容就行修改呢

打开两个文件,修改其中内容后再写入另一个文件
f1=open("text1","r+",encoding="utf-8") f2=open("text2","w+",encoding="utf-8") for line in f: if "1111" in line: line=line.replace("1111","qqqq") f2.write(line)

 

posted @ 2018-02-21 17:08  Mr_Xia  阅读(330)  评论(0编辑  收藏  举报