Python:使用 os、shutil 模块对文件与目录操作

简介: 当你想批量处理文件的时候,使用 python 对文件或者文件夹进行操作,可以迅速地解决问题。 在 python 里面有几个内置模块可以对文件进行复制、移动、重命名及读写等操作。以下是对 os、shutil 模块里面的重要函数与方法进行的简单介绍。

当你想批量处理文件的时候,使用 python 对文件或者文件夹进行操作,可以迅速地解决问题。
在 python 里面有几个内置模块可以对文件进行复制、移动、重命名及读写等操作。以下是对 os、shutil 模块里面的重要函数与方法进行的简单介绍。


一、os 模块

常用函数和方法:

函数或方法 说明 函数或方法 说明
os.rename(old, new) 重命名文件 os.makedirs(dir) 创建多级目录
os.remove(file) 删除文件 os.mkdir(dir) 创建单级目录
os.listdir(path) 列出所指目录下的所有文件 os.rmdir(dir) 删除空目录
os.path.split() 分离路径与文件名 os.path.splitext() 分离文件与扩展名
os.path.basename() 获取文件名 os.path.exists() 判断文件是否存在
os.path.isabs() 判断是否是绝对路径 os.path.isdir() 判断是否为目录
os.path.isfile() 判断是否为文件 os.path.join() 把路径与文件名结合

二、shutil 模块

常用函数和方法:

函数或方法 说明 函数或方法 说明
shutil.copyfile(old, new) 仅复制文件内容,不含属性 shutil.copy(old, new) 含有文件的权限属性
shutil.copy2(old, new) 含所有的文件属性 shutil.copytree(old, new) 复制整个目录
shutil.rmtree() 删除目录(包括内容) shutil.move(old, new) 移动目录或文件

三、文件读写

1.使用 open(file, 'mode') 来打开一个文件,若文件不存在,则创建这个文件。
第二个参数是文件的打开模式:
r:读方式
w:写方式
a:读写方式
r+:可读可写
w+:读写。若文件已存在则将其覆盖;若文件不存在,则创建这个文件。
a+:读写。若文件已存在,文件打开时会是追加模式,即光标将会放在文件的结尾;若文件不存在,则创建这个文件。

2.对文件进行读写操作
使用 write()、read()、readline()、readlines() 等可对文件进行读写,使用时格式如下

# 打开文件
f = open(file, 'a+')
# 把字符写进文件
f.wrire('str')
# 读取文件,可指定读取的长度
f.read()
# 读取一行内容,可指定 size 读取一行的某一部分
f.readline()
# 读取文件并返回一个列表,每一行是列表的一个元素
f.readlines()
# 关闭文件
f.close()

在文件中想进行换行可以使用换行符 /n

目录
相关文章
|
2月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
359 7
|
2月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
392 4
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
290 0
|
2月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
204 0
|
4月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
4月前
|
Web App开发 缓存 Rust
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
655 0
Vanilla OS:下一代安全 Linux 发行版
|
10月前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
483 10
|
11月前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
383 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
11月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
249 7

推荐镜像

更多