python-文件操作
一、文件的概念
- 文件的操作一共分三个步骤
- 打开文件
- 读写文件
- 读,将文件内容写入内存
- 写,将内存内容写入文件
- 关闭文件
操作文件的函数/方法
1、 read方法---读取文件
-
#1、打开文件----注意大小写 file = open(文件路径,mode = "",encoding = "")
文件路径分绝对路径和相对路经
- 绝对路径:D:/test/xxxx/1.txt
- 相对路径:../上一层文件
- mode参数表示访问方式
-
实例:准备一个名称为文件读取操作.txt文件;
path = open("文件读取操作.txt",mode="r",encoding="utf-8") #当前文件夹中
# open("D:/Python/py/python基础/06_文件操作/文件读取操作.txt",mode='r',encoding='utf-8')
line = path.readline() line2 = path.read()
print("readline()方法读取的内容是 %s:" %line1)
print("read()方法读取的内容是 %s:" %line2)
line = path.readline().strip() #去掉字符串两端的空白、加空格、换行、制表符 print(line)
- 常用的遍历方式【重要】
for line in path: print(line.strip())
- 在其它文件夹的打开方式
open("../文件夹")
2、write写文件
path =open("写入文件.txt", mode ="w", encoding="utf-8") path.write("写入测试") #写入内容
path.writelines("123455677") #追加写入
执行后:可以把文件创建出来。路径和python同路径下
- 准备一个列表,把列表中的每一项都写入文件中
lst = ["张三","三年内","以往","多年"] f1 = open("文件写入操作.txt", mode="w", encoding="utf-8") f1.write(lst[0]) f1.write("\n") #换行 f1.writelines(lst[1]) #把“三年内吸写入”
如果想要全部写入,则
for item in lst:
f1.write(item)
f1.write("\n")
f1.close()
with结构语法【常用】,
- 读文本
# with with open("文件读取操作.txt",mode="r",encoding="utf-8") as f: #f=open for line in f : print(line.strip())
读图片【1、读取图片 不能给encoding参数 2、在读取非文本文件的时候要加上b】
with open("图片.jpg",mode="rb")as f: for line in f: print(line )
- 复制
# 文件的复制 # 从源文件中读取内容,写入到一个新路径中 with open("图片.jpg",mode="rb")as f,open("../复制图片1.jpg",mode="wb")as f2: for line in f: f2.write(line)
把图片.jpg复制一份到上一层文件中,并且命名为复制图片1.jpg
- 内容修改
#把文件中的文字进行修改 with open("人名单.txt", mode="r", encoding="utf-8") as f1,\ open("人名单_副本.txt", mode="w", encoding="utf-8")as f2: for line in f1: line = line.strip() #去换行 if line.startswith("您"): line = line.replace("您","你") #修改 f2.write(line) f2.write("\n")
- 删除、覆盖操作
在之前要导入两个模块
import os #导入和系统相关的模块引入
import time #导入时间模块
os.remove("人名单.txt") #删除 # time.sleep(5) #覆盖源文件 os.replace("人名单_副本.txt", "人名单.txt")