Python下的文件使用

本文详细介绍了Python中处理文件和目录的各种方法,包括获取绝对路径和相对路径、文件及目录的检查、创建与删除、读写文件以及文件大小的获取。此外,还涉及了遍历目录树、文件复制与移动以及压缩解压等实用技巧,是Python学习者系统掌握文件操作的宝贵资料。
摘要由CSDN通过智能技术生成


活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…


欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程。您可以从以下3个方面任选其一着手(不强制),或者按照自己的理解发布专栏学习作品,参考如下:

学习日记

文件模块:
绝对路径:从根目录开始的路径
相对路径:

. 没错,就是一个点,表示的是当前文件夹;.. 两个点表示的是上一层文件夹。

怎么用:
os 模块与 os.path 模块
在 Python 中操作文件路径,使用 os 模块,os.path 模块是 os 模块内部的一个子模块,首先导入该模块。
import os
print(os.getcwd())#获取档期Python所在的工作目录
**获取绝对路径 os.path.abspath **
abspath 方法需要一个参数 path,即一个路径,基于该路径在返回绝对路径。
import os

ret = os.path.abspath("demo4.py")
print(ret)

**获取相对路径 os.path.relpath **
语法格式:os.path.relpath(path,start)
import os

ret = os.path.relpath("D:\")
print(ret)

路径检查主要是为了检查文件或者文件夹是否存在,或者判断是文件夹还是文件
exists(path) 如果 path 文件或文件夹存在返回 True,否则返回 False;
isabs(path) path 是绝对路径返回 True,否则返回 False;
isdir(path) path 是文件夹返回 True,否则你懂;
isfile(path) path 是文件返回 True。

目录操作:
以下几个方法在 os 模块中,执行如下操作建议先通过 os.path.exists 判断目录是否存在。
mkdir(path) 创建目录;
rmdir(path) 删除目录;
chdir(path) 切换当前工作目录到 path;
remove(path) 删除文件,注意如果 path 是一个目录,删除会报错,权限不足,删除目录请使用 rmdir。

文件大小:getsize 方法
import os
print(os.path.getsize("demo4.py"))

获取下的所有内容:os.listdir 方法
import os
print(os.listdir("."))
os.walk 方法:遍历目录树,通过循环就可以获取到指定目录下面所有的文件与文件夹

Python 读取文件:
读取问价你的所有内容:open 函数打开文件之后,可以通过 read 读取文件内容
代码如下:
file = "test.txt"

打开文件

f = open(file, encoding="utf-8")

读取文件全部内容

read_str = f.read()

关闭文件

f.close()
print(read_str)

逐行读取文件内容:
for line in f:
print(line,end="")
或者:data = f.readlines()
为了防止打开文件后忘记关闭可以使用with as

写入文件:
文件对象.write(待写入内容)
with open(file, mode="w", encoding="utf-8") as f:
# 写入文件内容
f.write("我是即将被写入的内容")
写入的内容需要时字符串类型且会覆盖原内容

写入多行数据:可以通过write方法,在with的代码块中使用,注意write方法不会再行位换行,
with open(file, mode="w", encoding="utf-8") as f:
# 写入文件内容
f.write("我是即将被写入的内容\n")
f.write("我是即将被写入的内容")

文件复制:shutil方法
格式:shutil.copy(旧文件,新文件)

目录复制:copytree 方法 语法格式:shutil.copytree("../1","a4")
要确认新目录存不在存在 存在的话就会报错

move方法:
移动文件:shutil.move(旧文件,新文件)
删除有数据的目录

zipFile 模块:通过该模块可以直接对文件进行压缩与解压操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值