1 路径基础
1.1 路径连接符(\ /)
路径连接符 — \ |
|
python # /:mac 和 linux 的默认分隔符 path = 'C:/test/a1.txt' |
python # windows 也可以使用 |
路径连接符 — / |
|
python # \:windows 的默认分隔符 # 使用 \\ 将 \ 符号转义 path = 'C:\\test\\a1.txt' # 使用 r' ' 使用字符串原意 path = r'C:/test/a1.txt' |
python # 使用时调用转义字符,不能直接使用 |
1.2 工作路径(getcwd chdir)
工作路径就是相对路径的缺省值。工作目录的缺省值为项目位置。
工作路径 — getcwd / chdir |
|
python import os owd = os.getcwd() # 返回工作路径 print(os.getcwd()) # 更改工作路径 os.chdir('test') print(os.getcwd()) # 恢复工作路径 os.chdir(owd) print(os.getcwd()) |
python C:\Users\WP02118660\Documents\python_code\learn_os C:\Users\WP02118660\Documents\python_code\learn_os\test C:\Users\WP02118660\Documents\python_code\learn_os |
1.3 当前/上级目录(. ..)
当前/上级目录 — . / .. |
|
python import os # 返回工作路径的当前绝对路径 print(os.path.abspath('.')) # 返回工作路径的上级绝对路径 print(os.path.abspath('..')) # abspath 返回绝对路径 |
python C:\Users\WP02118660\Documents\python_code\learn_os C:\Users\WP02118660\Documents\python_code |
2 路径处理(os.path)
路径处理对于文件和目录同样适用
2.1 查询目录/文件
2.1.1 名字/上级/绝对/相对路径
名字 basename / 上级 dirname / 绝对 abspath / 相对 relpath 路径 |
|
python import os path = r'.\test' userpath = os.path.expanduser('~') # 返回目录名 print(os.path.basename(path)) # 返回目录上级路径 print(os.path.dirname(path)) # 返回目录绝对路径 print(os.path.abspath(path)) # 返回目录相对路径 print(os.path.relpath(path)) print(os.path.relpath(absp, userpath)) |
python test . C:\Users\WP02118660\Documents\python_code\learn_os\test test Documents\python_code\learn_os\test |
2.1.2 创建/最近修改/访问时间
创建 getctime / 最近修改 getmtime / 访问 getatime 时间 |
|
python import os path = r'.\test' # 返回创建时间 print(os.path.getctime(path)) # 返回最近修改时间 print(os.path.getmtime(path)) # 返回最近访问时间(浮点型秒数) print(os.path.getatime(path)) |
python 1658216627.4206476 1658456383.8047192 1658471869.6534042 |
2.1.3 大小(getsize)
大小 — getsize |
|
python import os path = r'.\test' # 返回文件大小,如不存在则报错 os.path.getsize(path) |
python 0 |
2.2 判断路径
2.2.1 存在性(exist lexists)
存在性 — exist / lexists |
|
python import os path = r'.\test' # ------ <判断路径是否存在> ------ # # 路径损坏返 False print(os.path.exists(path)) # 路径损坏返 True print(os.path.lexists(path)) |
python True True |
2.2.2 相同性(samefile)
判断两路径是否相同 — samefile |
|
|
python import os # 判断两路径是否相同 print(os.path.samefile('test',os.path.join(os.getcwd(), 'test'))) |
python True |
2.2.3 目录/文件(isfile isdir)
判断路径是否为文件/目录 — isfile / isdir |
|
python import os path = r'.\test' # 判断路径是否为文件 print(os.path.isfile(path)) # 判断路径是否为目录 print(os.path.isdir(path)) |
python False True |
2.2.4 绝对路径/链接/挂载点
绝对路径 isfile / 链接 islink / 挂载点 ismount |
|
python # 判断路径 import os path = r'.\test' # 判断路径是否是绝对路径 print(os.path.isfile(path)) # 判断路径是否为链接 print(os.path.islink(path)) # 判断路径是否为挂载点( print(os.path.ismount(path)) |
python False False # linux磁盘文件系统的入口目录 False |
2.3 路径字符替换
2.3.1 ~→用户名(expanduser)
绝对路径 isfile / 链接 islink / 挂载点 ismount |
|
python import os # 替换“~”和“~user”为用户目录 print(os.path.expanduser('~')) |
python C:\Users\WP02118660 |
2.3.2 连接符(normcase normpath)
绝对路径 isfile / 链接 islink / 挂载点 ismount |
|
python import os path = 'Folder/TEST\\a.txt' # 所有字母转换为小写,路径连接符转换为‘\’ print(os.path.normcase(path)) # 路径连接符转换为‘\’ print(os.path.normpath(path)) |
python folder\test\a.txt Folder\TEST\a.txt |
2.4 路径组合操作
2.4.1 共有路径(commonprefix)
绝对路径 isfile / 链接 islink / 挂载点 ismount |
|
python import os path1 = r'C:\Program Files\7-Zip' path2 = r'C:\Program Files\Microsoft Office' # 返回最长路径共有路径 print(os.path.commonprefix([path1,path2])) |
python C:\Program Files\ |
2.4.2 组合拆分(join split splitdrive splitext)
组合 — join |
|
|
python import os # 路径组成 print(os.path.join('C:','Program Files','7-Zip')) print(os.path.join('C:\Program Files','7-Zip')) |
|
python # 磁盘后不追加连接符 C:Program Files\7-Zip C:\Program Files\7-Zip |
拆分 — split / splitdrive / splitext |
|
|
python import os absp = os.path.abspath(os.getcwd()) # 拆分成父目录,和文件/目录构成的元组 print(os.path.split(absp)) # 拆分成驱动器名,和路径构成的元组 print(os.path.splitdrive(absp)) # 拆分成文件名(含路径),和拓展名构成的元组 print(os.path.splitext(absp)) |
python ('C:\\Users\\WP02118660\\Documents\\python_code', 'learn_os') ('C:', '\\Users\\WP02118660\\Documents\\python_code\\learn_os') ('C:\\Users\\WP02118660\\Documents\\python_code\\learn_os', '') |
4.6 返回文件系统设定
返回 文件系统 设定 |
|
|
python import os # 当前目录的字符串 print(os.curdir) # 父目录的字符串 print(os.pardir) # 程序的默认搜索路径 print(os.defpath) # 文本行的结尾字符串 print(repr(os.linesep)) # 扩展名和文件名间的分隔符 print(os.extsep) # 路径列表中分隔路径的分隔符 print(os.pathsep) # 路径组成的分割符 print(os.sep) |
python . .. /bin:/usr/bin '\n' . : / |
python . .. .;C:\bin '\r\n' . ; \ |
3 未学习(dlc)
Python3 os.path() 模块 | 菜鸟教程