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

目录
相关文章
|
18天前
|
Python
文件元数据获取方法对比:`os.path` 与 `os.stat`
本文对比了Python中两种获取文件元数据的方法:`os.path`和`os.stat`。通过示例代码展示了如何获取文件大小和修改时间,并从性能、功能性和代码可读性三方面进行了详细对比。最终给出了根据具体需求选择合适方法的最佳实践建议。
24 2
|
25天前
|
JavaScript 前端开发 Python
python中的OS模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术及全栈开发经验,持续更新中,期待您的关注和支持!🎉🎉🎉
31 0
|
2月前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
26 1
|
2月前
|
Shell Python
Python 的 os 库的应用实例
Python 的 os 库的应用实例
33 3
|
2月前
|
Shell Python
Python中os模块的常用方法和示例
在Python中,`os`模块提供了与操作系统交互的函数,用于文件和目录管理、路径操作、环境变量等。常用方法包括路径操作(如`os.path.join()`、`os.path.abspath()`)、文件和目录管理(如`os.mkdir()`、`os.remove()`)、环境变量和进程管理(如`os.getenv()`、`os.system()`)以及其他常用功能(如`os.getcwd()`、`os.urandom()`)。
35 0
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
53 0
Vanilla OS:下一代安全 Linux 发行版
|
26天前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
49 4
|
1月前
|
人工智能 安全 Linux
|
2月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。
|
4月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
134 3