❤️ 博客主页:水滴技术
🌸 订阅专栏:Python 入门核心技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬
文章目录
- 1. 文件和目录的基本操作
- 1.1 获取当前工作目录
- 1.2 更改当前工作目录
- 1.3 获取目录下所有文件和目录
- 1.4 创建目录
- 1.5 删除文件
- 1.6 删除目录
- 1.7 递归删除目录
- 1.8 重命名文件或目录
- 1.9 获取文件或目录属性
- 2. 文件和目录的遍历
- 2.1 遍历目录树
- 2.2 列出目录下的文件和目录
- 3. 文件和目录的属性和权限
- 3.1 获取文件或目录的访问和修改时间
- 3.2 获取文件或目录的大小
- 3.3 获取文件或目录的权限
- 4. 文件和目录的路径操作
- 4.1 获取文件名和目录名
- 4.2 拼接路径
- 4.3 分离路径和扩展名
- 4.4 判断路径是否存在
- 4.5 判断路径是否为文件或目录
- 5. 总结
- 系列文章
- 热门专栏
大家好,我是水滴~~
Python 的 os
模块是一个与操作系统交互的模块,它提供了许多函数和方法,可以用于操作文件和目录。本教程将深入介绍 os
模块的各种功能和用法。
1. 文件和目录的基本操作
1.1 获取当前工作目录
os.getcwd()
方法可以获取当前工作目录的路径,即 Python 解释器当前所在的目录。
import os# 获取当前工作目录
cwd = os.getcwd()
print(cwd)
1.2 更改当前工作目录
os.chdir(path)
方法可以更改当前工作目录的路径。
import os# 更改当前工作目录
os.chdir('/path/to/new/directory')
1.3 获取目录下所有文件和目录
os.listdir(path)
方法可以获取指定目录下的所有文件和目录的名称列表。
import os# 获取目录下所有文件和目录
path = '/path/to/directory'
dir_list = os.listdir(path)
print(dir_list)
1.4 创建目录
os.makedirs(path)
方法可以递归创建指定路径的目录,如果目录已经存在,则不会进行任何操作。
import os# 创建目录
path = '/path/to/new/directory'
os.makedirs(path)
1.5 删除文件
os.remove(path)
方法可以删除指定路径的文件。
import os# 删除文件
path = '/path/to/file'
os.remove(path)
1.6 删除目录
os.rmdir(path)
方法可以删除指定路径的目录,但前提是该目录必须为空。
import os# 删除目录
path = '/path/to/empty/directory'
os.rmdir(path)
1.7 递归删除目录
shutil.rmtree(path)
方法可以递归删除指定路径的目录及其所有子目录和文件。
import shutil# 递归删除目录
path = '/path/to/directory'
shutil.rmtree(path)
1.8 重命名文件或目录
os.rename(src, dst)
方法可以将指定路径的文件或目录重命名为另一个名称或路径。
import os# 重命名文件或目录
src = '/path/to/old/name'
dst = '/path/to/new/name'
os.rename(src, dst)
1.9 获取文件或目录属性
os.stat(path)
方法可以获取指定路径的文件或目录的属性信息。
import os# 获取文件或目录属性
path = '/path/to/file_or_directory'
info = os.stat(path)
print(info)
2. 文件和目录的遍历
2.1 遍历目录树
os.walk(top, topdown=True, onerror=None, followlinks=False)
方法可以遍历指定目录下的所有子目录和文件,并返回一个三元组,包含每个子目录路径、该目录下的所有目录名称列表和该目录下的所有文件名称列表。
import os# 遍历目录树
for root, dirs, files in os.walk('/path/to/directory'):print('目录路径:', root)print('子目录列表:', dirs)print('文件列表:', files)
2.2 列出目录下的文件和目录
os.scandir(path)
方法可以列出指定路径的目录下的所有文件和目录,返回一个迭代器,包含每个文件和目录的详细信息。
import os# 列出目录下的文件和目录
path = '/path/to/directory'
with os.scandir(path) as entries:for entry in entries:print(entry.name, entry.is_file(), entry.is_dir())
3. 文件和目录的属性和权限
3.1 获取文件或目录的访问和修改时间
os.path.getatime(path)
方法可以获取指定路径的文件或目录的最后访问时间。
os.path.getmtime(path)
方法可以获取指定路径的文件或目录的最后修改时间。
import os# 获取文件或目录的访问和修改时间
path = '/path/to/file_or_directory'
atime = os.path.getatime(path)
mtime =os.path.getmtime(path)
print('最后访问时间:', atime)
print('最后修改时间:', mtime)
3.2 获取文件或目录的大小
os.path.getsize(path)
方法可以获取指定路径的文件或目录的大小,单位为字节。
import os# 获取文件或目录的大小
path = '/path/to/file_or_directory'
size = os.path.getsize(path)
print('大小为:', size, '字节')
3.3 获取文件或目录的权限
os.stat(path)
方法返回的属性信息中包含了文件或目录的权限信息,可以使用 stat
模块的常量来解析这些属性。
import os
import stat# 获取文件或目录的权限
path = '/path/to/file_or_directory'
mode = os.stat(path).st_mode
print('权限为:', oct(stat.S_IMODE(mode)))
4. 文件和目录的路径操作
4.1 获取文件名和目录名
os.path.basename(path)
方法可以获取指定路径的文件名或目录名。
os.path.dirname(path)
方法可以获取指定路径的目录名或上级目录名。
import os# 获取文件名和目录名
path = '/path/to/file_or_directory'
filename = os.path.basename(path)
dirname = os.path.dirname(path)
print('文件名为:', filename)
print('目录名为:', dirname)
4.2 拼接路径
os.path.join(path1, path2, ...)
方法可以将多个路径拼接为一个路径。
import os# 拼接路径
path1 = '/path/to'
path2 = 'file_or_directory'
path = os.path.join(path1, path2)
print('拼接后的路径为:', path)
4.3 分离路径和扩展名
os.path.splitext(path)
方法可以将指定路径的文件名分离为文件名和扩展名。
import os# 分离路径和扩展名
path = '/path/to/file.txt'
name, ext = os.path.splitext(path)
print('文件名为:', name)
print('扩展名为:', ext)
4.4 判断路径是否存在
os.path.exists(path)
方法可以判断指定路径是否存在。
import os# 判断路径是否存在
path = '/path/to/file_or_directory'
if os.path.exists(path):print('路径存在')
else:print('路径不存在')
4.5 判断路径是否为文件或目录
os.path.isfile(path)
方法可以判断指定路径是否为文件。
os.path.isdir(path)
方法可以判断指定路径是否为目录。
import os# 判断路径是否为文件或目录
path = '/path/to/file_or_directory'
if os.path.isfile(path):print('路径为文件')
elif os.path.isdir(path):print('路径为目录')
else:print('路径不存在')
5. 总结
本教程深入介绍了 Python 的 os
模块的各种功能和用法,包括文件和目录的基本操作、遍历、属性和权限、路径操作等。 os 模块是 Python 编程中非常重要和实用的模块之一,熟练掌握其各种方法和技巧,可以帮助我们更加高效地处理文件和目录相关的任务。
系列文章
🔥 Python 进阶(一):PyCharm 下载、安装和使用
🔥 Python 进阶(二):操作字符串的常用方法
🔥 Python 进阶(三):正则表达式(re 模块)
🔥 Python 进阶(四):日期和时间(time、datetime、calendar 模块)
热门专栏
👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》