点我
文件读写
了解
- 在磁盘上读写文件的功能都是由操作系统提供的
- 现代操作系统不允许普通的程序直接操作磁盘
- 读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符)
- 然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件(写文件)
函数open()
打开一个文件,创建一个file对象
open(name[, mode[, buffering]])
- name:所要访问的文件名称
- mode:打开文件的模式
- buffering:编码
自动打开关闭
# with open("文件路径",'r'):
路径
- 相对路径:从当前目录开始,../ 上级目录,. /当前目录
- 绝对路径:从磁盘号开始,如:D:/pye/f.txt
打开模式
打开模式 | 描述 |
---|---|
r | 只读模式,默认值;如果文件不存在,返回FileNotFoundError |
w | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
x | 创建写模式,文件不存在则创建,存在则返回FileExistsError |
a | 追加写模式,文件不存在则创建,存在则在文件最后追加内容 |
b | 二进制文件模式 |
t | 文本文件模式,默认值 |
+ | 与r、w、x、a一同使用,在原有的功能上增加同时读写功能 |
注意:r、w、x、a 可以和 b t + 组合使用
读入文件
1、read() 一次读入,统一处理
with open(r"G:\Programme\python\file\三国演义.txt",'r') as f:
txt = f.read()
print(txt)
2、read(长度) 按数量读入,逐步处理
with open(r"G:\Programme\python\file\三国演义.txt",'r') as f:
txt = f.read(3)
while txt != "":
print(txt,end="")
txt = f.read(3)
3、readline() 分行读入,逐步处理
with open(r"G:\Programme\python\file\三国演义.txt",'r') as f:
txt = f.readline()
while txt != "":
print(txt)
txt = f.readline()
4.、readlines() 一次读入,逐步处理
with open(r"G:\Programme\python\file\三国演义.txt",'r') as f:
txt = f.readlines()
for line in txt:
print(line)
5、直接遍历文件对象 分行读入,逐步处理
with open(r"G:\Programme\python\file\三国演义.txt",'r') as f:
for i in f:
print(i,end="")
关闭文件
变量.close()
练习
1、把jpg的内容读出来,将一部分读入到另外一个图片中
with open("1.jpg",'rb') as f1:
content = f1.read()
with open("2.jpg",'wb') as f2:
content2 = content[0:int(len(content)/2)]
f2.write(content2)
2、将files文件夹下的文件内容复制到另一个文件
with open("./files/三国演义.txt",'rt',encoding='utf-8') as f1:
with open("./files/三国演义copy.txt",'at',encoding='utf-8') as f2:
while True:
content = f1.read(1024) #读1024个汉字
if content == 0:
break
f2.write(content)
分类:
Python
版权申明
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论