一、读
open(r‘要读取的文件地址’,‘rt’)默认值为rt,读文本文档可以不填,rb二进制可以读图片
read()读取文件
readline()读取一行
readlines()读取多行,返回一个列表
readable()判断文件是否能读取返回布尔值
二、写
open(r‘要读取的文件地址’,‘w’)W代表写的操作,每次写入都会先清空文件内容再写入
open(r‘要读取的文件地址’,‘a’)a代表append添加,每次写入不会先清空文件
write(‘写入的内容’)写入操作
writelines([‘’,‘’,‘’])可以放入一个列表但不会换行
注意open之后只能用read读取一次,如果多次读取不会读取到数据,除非再次open
close()释放资源,释放后不能再进行操作。
三、复制粘贴
with open(r‘要读取的文件地址’,‘r’)as 值名字A:
值名字B = 值名字A . read()
with open(r‘要读取的文件地址’,‘w’)as 值名字C:
C.write(值名字B)
思路:先读取原文件然后赋值到B上然后把B写入到C上,完成复制粘贴。(注意缩进)
四、os模块
import os with open(r'C:\Users\Administrator\Desktop\aa.txt', 'r') as a: c=a.read() file = a.name filename = file[file.rfind('\\')+1] path = os.path.dirname(__file__) path1 = os.path.join(path,filename) with open(path1, 'w') as b: b.write(c)
filename = file[file.rfind('\\')+1]截取原文件名字
path =os.path.dirname(__file__) 输出当前文件夹的路径
path1 =os.path.join(path,'aa.txt')拼接路径
思路:用os模块获取路径,用字符串截取文件名,然后拼接成新的路径,实现复制到当前文件夹
os.path.isabs('路径') 判断是否为绝对路径
os.isfile()判断是否是文件
os.isdir()判断是否是文件夹
os.path.dirname(__file__) 输出当前文件夹的绝对路径
__file__表示当前文件
os.path.abspath('相对路径')用相对路径找出绝对路径
os.getcwd()获取当前文件的目录
os.path.split(路径)把路径和文件名切割分别放到元组里面,在元组里面就可以用元组下标获取文件名例('C:\\Users\\Administrator\\Desktop\\', 'aa.txt') os.path.splitext(路径)把后缀切割出来放到元组里面
例('C:\\Users\\Administrator\\Desktop\\aa', '.txt')
os.path.getsize(路径)获取文件的大小。
os.path.join(路径,'拼接的内容')把路径和拼接内容拼接
os.listdir(路径)查询该路径下所有文件名,并放到列表里面
os.mkdir(r'C:\Users\Administrator\Desktop\aa')在路径下创建一个aa的文件夹
os.path.exists(文件路径)判断路径上是否有同名文件,返回布尔值。要带有文件后缀
os.rmdir(文件路径)只能删除文件夹,但文件夹内不能有其他文件,只能删除空的文件夹
os.remove(文件路径)只能删除文件
思路:如果文件夹里面有文件,思路是用os.listdir(路径)获取文件夹内的文件名,遍历删除文件os.remove(文件路径),当文件全部删除再删除文件夹os.rmdir(文件路径)
os.chdir(路径)切换到指定路径。
复制文件夹思路:读取原文件夹里所有文件名,遍历写入新的路径里。复制时候注意读取和写入流里面用r还是用rb。
复制文件夹思路2:如果文件夹下有文件夹,遍历路径里的文件后,用os方法判断是否为文件夹,如果不是正常复制,如果是进入并复制文件夹,进入后调用自身方法(递归)去继续判断当前文件夹下是否还有文件夹