文件的相关操作

文件操作模式 

r w a , r+ w+ a+, rb wb ab,等

1、文件操作函数open

  open(文件名(路径),mode=" ",encoding="  ")

r 模式

1 f = open("文件名.txt",mode="r",encoding="utf-8")
2 s=f.read()
3 f.close()
4 print(s)

当文件有多行内容时 可以借助循环读出

1 f=open("文件名",mode="r",encoding="utf-8")
2 for line in f:
3     print(line.strip()) #一行一行的处理数据
4 f.close()
1 while True:
2     s=f.readline().strip()# 一次读一行
3     if s!=""
4         print(s)

w 模式

如果写入的文件不存在,就会自动创建文件
1 f=open("文件名.txt",mode="w",encoding="utf-8")
2 f.write("写入的内容") #写入前程序会把文本中的内容全部清除,然后写入新的内容
3 f.flush() #刷新当前内容
4 f.close()

a模式

写的时候需要手动换行

1 f=open("文件名",mode="a",encoding="utf-8")
2 f.write("第一行")
3 f.write("第二行")
4 f.flush()
5 f.close()

rb、wb模式(rb,wb,ab 处理的是非文本文件,如视频、音乐、图片等)不需要加encoding

1 f=open("c:/tupian.jpg",mode="rb")
2 e=open("e:/tupian.jpg",mode="wb")
3 for line in f:
4     e.write()
5 e.flush()
6 f.close()
7 e.close()

r+(先读后写) w+(先写后读) 模式

f=open("文件名",mode="r+",encoding="utf-8")
s=f.read(3) # 读取三个字符
print(s)
f.write("写入的内容") # 写在文件的末尾

w+模式(一般不用,因为写操作会清空掉文本以前的内容)

1 f=open("文件名",mode="w+",encoding="utf-8")
2 f.write("插入的内容")
3 f.seek(0) # 写完后光标是在文本的末尾,读取不到任何内容
4 s=f.read()
5 print(s)
6 f.flush()
7 f.close()

a+ 模式(默认是在文本的末尾插入新的内容,光标在末尾)

1 f=open("文件名",mode="a+",encode="utf-8")
2 f.write("插入的内容")# 在文本的末尾添加
3 f.seek(0)
4 s=f.read()
5 print(s)
6 f.flush
7 f.close()

2、文件的相关操作

1 f=open("文件名",mode="r",encoding="utf-8")
2 f.seek(3) #表示三个字节,光标移动到第二个字符()
3 s=f.read(2)  #从光标当前位置开始读二个字符
4 print(s)
5 print(f.tell()) #显示光标当前位置
6 f.close()

3、偏移量

1 seek(0) #表示文本的开头
2 seek(0,2) #在末尾的偏移量是0 末尾

4、截断truncate(参数)

1 f.truncate(12) #从头开始截断到光标位置,若给参数,则截断到参数位置
原文地址:https://www.cnblogs.com/liaopeng123/p/9431313.html