Python文件操作(自用)

一、读

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方法判断是否为文件夹,如果不是正常复制,如果是进入并复制文件夹,进入后调用自身方法(递归)去继续判断当前文件夹下是否还有文件夹

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值