python library 文件 路径

python library 文件 路径

本文主要介绍 Python 标准库对 文件,文件夹搜索,移动,拷贝,重命名,获取文件信息等与文件系统交互的函数和变量,包括 os, glob, shutil, sys 等模块

1. 路径解析

1.1 路径变量

变量
os.sep 路径分割符, windows 系统为 \\
os.extsep 文件后缀符, 即.
os.pardir 父文件夹, 即 ..
os.curdir 当前文件夹,即 .

1.2 路径函数

函数 功能
os.path.split() 返回 tuple, 第二个元素为最后一个路径分隔符后面的部分,第一个元素则为该分隔符之前的部分
os.path.basename() 返回字符串,表示最后一个路径分隔符后面的部分,如果以分隔符结束,则返回空字符串
os.path.dirname() 返回字符串,表示最后一个路径分隔符之前的部分,不包括该分隔符
os.path.splitext() split 类似,但通过最后一个文件后缀符分割,
os.path.commonprefix() 返回输入的路径列表的公共部分,这里没有使用分隔符边界。仅仅是所有字符串的公共匹配
os.path.commonpath() 在前面的基础上考虑路径分隔符

1.3 文件夹函数

函数 功能
os.getcwd() 获得当前文件夹路径
os.listdir() 获取指定文件夹的所有文件以及文件夹
os.mkdir() 指定路径创建文件夹
os.rename() 文件夹重命名
os.remove() 删除文件
os.rmdir() 删除文件夹

2. Build path

构建路径的函数:

函数 功能
os.path.join() 将多个路径拼接起来
os.path.expanduser() 用于 UNIX,将 ~user 解析为用户 user 的 home 目录,如果 user 用户不存在,则不解析
os.path.expandvars() 解析并代替输入字符串的 shell 环境变量
os.path.normpath() 规范化路径格式,比如 Unix 的 / 分隔符会被修改为Windows 的路径分隔符 – \\
os.path.abspath() 返回绝对路径,os.curdiros.pardir 都会被解析并展开

3. 其他

3.1 file time & size

函数 功能
os.path.getatime() access time of the file
os.path.getmtime() modification time of the file
os.path.getctime() creation time of the file
os.path.getsize() the size of the file (byte)

3.2 Test file

函数 功能
os.path.isabs() 测试路径是否为绝对路径
os.path.isfile() 测试路径是否指向文件
os.path.isdir() 测试路径是否指向文件夹
os.path.islink() 测试路径是否指向链接文件 (symbolic link)
os.path.ismount() 测试路径是否是挂载点 (mount point), 比如 drive root, the root of a share, or a mounted volume
os.path.exists() 测试指定路径对应的文件夹是否存在, 注意: return false for broken symbolic links
os.path.lexists() 测试路径是否存在, 注意 return true for broken symbolic links

3.3 shutil : high-level file operations

函数 功能
shutil.rmtree() 循环删除路径对应文件夹包含的所有文件
shutil.move() 循环搬移文件或文件夹到另一个位置
shutil.copy() 拷贝文件或文件夹

3.4 glob: pattern matching on files

比如寻找所有以 .txt 结尾的文件

3.5 sys module: system-specific information

变量 作用
sys.platform 平台信息
sys.version 版本信息
sys.prefix python.exe 所在文件夹路径
sys.argv Python 脚本的命令行参数列表
sys.path Python 搜索 package 包的路径

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d 博主赞过: