python文件操作

在python中打开文件的方式:

一、使用系统函数open(file,mode,buffering,encoding)

其中file为文件名或文件路径,mode为文件操作方式:一般分为读和写两种,
如果传递的path或filename有误则会报错:FileNotFountError
如果是图片 不能使用默认的读取方式, 应该用mode = ‘rb’

stream = open('test.txt','r',encoding='utf-8')
读取文件时第一个参数file若为文件名,则默认是读取到当前文件夹下的文件,想要读取其他位置的文件则需要指定相应文件的文件路径
print(type(stream))
输出结果:
<class '_io.TextIOWrapper'>
此时读取文件之后返回的结果是_io.TextIOWrapper对象
print(stream.read())
获取_io.TextIOWrapper对象之后 若想要读取文件内容则需要使用read相关的函数
_io.TextIOWrapper对象使用完毕之后要记得调用接口清除
stream.close()

read相关的函数:
read()读取所有内容
readline()每次读取一行
readlines()读取所有的行保存在列表中
readable()判断是否可读的

open函数中的mode:
mode 是 ‘w’ 表示 写操作 每次都会将原来的内容清空
如果是mode = ‘a’ 则是在原有内容上增加新内容
如果open函数中mode是w或者a,则需要使用write相关的函数来往文件中写入内容:

stream = open('test.txt','a',encoding='utf-8')
print(stream.write('文件写入操作'))  # write函数会返回写入字符的长度
stream.close()

write相关的函数:
write(内容)
writelines(iterable) writelines函数往文件中写入内容时是没有换行的效果的,但是可以传入列表或字典等可迭代对象

二、with 结合 open 使用

with open(path, mode, encoding)as stream:
使用这种方法打开文件时可以帮我们自动释放资源
mode判断是读文件还是写文件
endocing解码格式 一般为utf-8

实例:复制路径path1上的文件到路径path2

with open(path1,'rb')as stream:
    container = stream
    with open(path2,'wb')as stream1:
        stream1.write(container)

os模块

从_io.TextIOWrapper对象中获取文件路径 stream.name

功能函数
从路径中截取文件名path[path.rfind(’\’)+1:]
获取当前文件所在的文件夹的绝对路径 "类似 os.path.dirname(__file__)os.getcwd()
返回该文件夹中所有文件的文件名,返回值为列表os.listdir(path)
删除指定路径的文件夹 只能删除空文件夹os.rmdir(path)
根据路径创建文件夹os.mkdir(path)
获取当前文件所在的文件夹的绝对路径os.path.dirname(__file__)
返回的是一个拼接后的新的路径,在path1的基础上增加了name.xxxos.path.join(path1, ‘name.xxx’)
判断路径文件是否为文件夹os.path.isdir(path)
判断是否为绝对路径os.path.isabs(path)
通过相对路径得到绝对路径os.path.abspath(filename)
获取当前文件的绝对路径os.path.abspath(__file__)
判断路径文件是否为文件os.path.isfile(path)
将当前文件的绝对路径 分割成文件目录和文件名os.path.split(path)
将当前文件的绝对路径 分割成文件目录、文件名和文件扩展名os.path.splitext(path)
获取文件大小 单位是字节os.path.getsize(__file__)
将字符串和路径拼接起来os.path.join(os.getcwd(), ‘file’, ‘a1.jpg’)
判断路径文件是否存在,存在则返回True否则返回Falseos.path.exists(path)
os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。os.removedirs(path)
os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSErroros.remove()
os.chdir() 方法用于改变当前工作目录到指定的路径。os.chdir()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值