python 学习笔记(文件和目录操作)

创建目录

os.makedirs可以递归的创建目录结构。

python 复制代码
import os
os.makedirs('tmp/python/test',exist_ok=True)
#exit_ok = True指定了,如果某个要创建的目录已经存在,也不报错
删除文件或目录

os.remove 可以删除一个文件

python 复制代码
os.remove('test.py')

**shutil.rmtree()**可以递归的删除某个目录和该目录里面所有的子目录和子文件。

python 复制代码
import shutil
shutil.rmtree('tmp',ignore_errors=True)
#注意:参数ignore_errors值设置为True,表示忽略删除过程中的错误(比如要删除的目录不存在),不会抛出异常。
拷贝文件

shutil 模块里面有很多 目录文件操作的函数。

拷贝文件,可以使用shuitl模块的copyfile函数。

python 复制代码
from shutil import copyfile

# 拷贝 d:/tools/first.py 到 e:/first.py
copyfile('d:/tools/first.py', 'e:/first.py')

**注意:**如果拷贝前,e:/first.py已经存在,则会被拷贝覆盖,所以使用该函数一定要小心。
*

拷贝目录

如果我们要拷贝一个目录里面所有的内容(包括子目录和文件,子目录里面的子目录和文件,等等)到另外一个目录中,可以使用shutil的copytree函数。

python 复制代码
from shutil import copytree
copytree('D:/aaaa','e:/new/bbb')

注意拷贝前,目标目录必须不存在,否则会报错。

  • 修改文件名,目录名

    要修改文件名,目录名,可以使用os模块的rname函数。

    python 复制代码
    import os
    os.rename('d:/tools/aaa','d:/tools/bbb')

    **注意:**Linux系统上,如果重命名之前d:/tools/aaa已经存在,则会被覆盖,所以使用该函数一定要小心。

  • 判断文件,目录是否存在

    如果我们需要判断一个指定路径的文件或者目录是否存在,可以使用下面的方法。

    python 复制代码
    import os
    os.path.exists('d:/systems')

    exists方法返回值为True表示存在,否则表示不存在。

    如果要判断指定路径是否是文件,可以这样

    python 复制代码
    import os
    os.path.isfile('d:/systems')

    如果要判断指定路径是否是目录,可以这样

    python 复制代码
    import os
    os.path.isdir('d:/systems')
  • 当前工作目录

    我们的程序运行时,是有当前工作目录的。

    程序代码中所有的对文件的访问,如果使用相对路径,都是基于这个当前工作目录。

    需要得到 程序的当前工作目录的路径,可以使用

    python 复制代码
    cwd = os.getcwd()

    需要改变当前工作目录到另外的路径,可以使用

    python 复制代码
    os.chdir(path)

    参数就是新的当前工作目录,路径地址。

得到目录中指定扩展名的文件和子目录

k可以使用glob库

python 复制代码
import glob
exes = glob.glob(r'd:\tmp\*.txt')

print(exes)

后续待发,期待期待期待~

相关推荐
叼烟扛炮3 小时前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
叼烟扛炮7 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
且从容.8 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习
蒸蒸yyyyzwd10 小时前
关于 AI 开发相关的一些面经。
笔记·学习
卷无止境11 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
2603_9696948511 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操
数据库·笔记·mysql·学习方法·database·sql注入
灿飞屋12 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
benchmark_cc12 小时前
单只股票五档盘口接入个人研究仓库:QuantDash 读取、校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
迪康coolmu12 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
青少儿编程课堂13 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:中缀表达式求值解析
c++·python·算法·bfs·信息学竞赛