dest_file = r'D:\PythonProject\TestPython\test.py' # 实际存在 dest_fake_file = r'X:\PythonProject\TestPython\test.py'# 实际不存在 dest_dir = r'D:\PythonProject\TestPython' # 实际存在 dest_fake_dir = r'X:\PythonProject\TestPython' # 实际不存在 dest_data = [dest_file, dest_fake_file, dest_dir, dest_fake_dir]
os.path主要对文件、文件夹进行处理,常用的函数可以分为四类:
- 解析路径
- 获取路径与文件名以及将路径与文件名合并成带路径文件名
- 获取绝对路径
- 获取文件时间相关数据(时间戳)
- 判断是否是文件、是否是路径、是否存在
1 解析路径[都不会判断路径是否真实存在]
- split()
将路径分离成路径和文件名
- splitext()
将路径分离成路径和文件后缀
- splitdriver()
将路径费力成盘符和文件路径
测试数据
for one_data in dest_data: print('--------------------------------------------') print(f'{one_data}') print('split: {}'.format(os.path.split(one_data))) print('splitext: {}'.format(os.path.splitext(one_data))) print('splitdrive: {}'.format(os.path.splitdrive(one_data)))
-------------------------------------------- D:\PythonProject\TestPython\test.py split: ('D:\\PythonProject\\TestPython', 'test.py') splitext: ('D:\\PythonProject\\TestPython\\test', '.py') splitdrive: ('D:', '\\PythonProject\\TestPython\\test.py') -------------------------------------------- X:\PythonProject\TestPython\test.py split: ('X:\\PythonProject\\TestPython', 'test.py') splitext: ('X:\\PythonProject\\TestPython\\test', '.py') splitdrive: ('X:', '\\PythonProject\\TestPython\\test.py') -------------------------------------------- D:\PythonProject\TestPython split: ('D:\\PythonProject', 'TestPython') splitext: ('D:\\PythonProject\\TestPython', '') splitdrive: ('D:', '\\PythonProject\\TestPython') -------------------------------------------- X:\PythonProject\TestPython split: ('X:\\PythonProject', 'TestPython') splitext: ('X:\\PythonProject\\TestPython', '') splitdrive: ('X:', '\\PythonProject\\TestPython')
2 获取路径与文件名以及将路径与文件名合并成带路径文件名[都不会判断路径是否真实存在]
- basename()
获取文件名
- dirname()
获取路径
- join()
将路径和文件名合并成带路径文件名
dest_data = [dest_file, dest_fake_file] for one_data in dest_data: print('--------------------------------------------') print(f'{one_data}') dir_name = os.path.dirname(one_data) base_name = os.path.basename(one_data) print('dir_name: {}'.format(dir_name)) print('base_name: {}'.format(base_name)) print('after join: {}'.format(os.path.join(dir_name, base_name)))
-------------------------------------------- D:\PythonProject\TestPython\test.py dir_name: D:\PythonProject\TestPython base_name: test.py after join: D:\PythonProject\TestPython\test.py -------------------------------------------- X:\PythonProject\TestPython\test.py dir_name: X:\PythonProject\TestPython base_name: test.py after join: X:\PythonProject\TestPython\test.py
3 获取绝对路径
absdir() 根据相对路径获取绝对路径
import os.path print(os.path.abspath('.')) # 当前路径为D:\PythonProject\TestPython
D:\PythonProject\TestPython
4 获取文件时间相关数据(时间戳)[都会判断路径是否真实存在]
- getctime()
获取文件创建时间(create)
- getatime()
获取文件访问时间(access)
- getmtime()
获取文件修改时间(modify)
dest_data = [dest_file, dest_dir] # 如果加入dest_fake_file或者dest_fake_dir会报错找不到 for one_data in dest_data: print('--------------------------------------------') print(f'{one_data}') print('create time: {}'.format(os.path.getctime(one_data))) print('access time: {}'.format(os.path.getatime(one_data))) print('modify time: {}'.format(os.path.getmtime(one_data)))
-------------------------------------------- D:\PythonProject\TestPython\test.py create time: 1619795451.78109 access time: 1619795451.78109 modify time: 1619795451.78109 -------------------------------------------- D:\PythonProject\TestPython create time: 1619795443.6216414 access time: 1620021754.546589 modify time: 1619795457.3491347
5 判断是否是文件、是否是路径、是否存在[都会判断路径是否真实存在]
- exsits() #
文件或目录实际是否存在
- isfile() #
是否是文件 前提是exisits()为True
- isdir() #
是否是目录 前提是exisits()为True
for one_data in dest_data: print('--------------------------------------------') print(f'{one_data}') print('is file: {}'.format(os.path.isfile(one_data))) print('is dir: {}'.format(os.path.isdir(one_data))) print('is exsit:{}'.format(os.path.exists(one_data)))
-------------------------------------------- D:\PythonProject\TestPython\test.py is file: True is dir: False is exsit:True -------------------------------------------- X:\PythonProject\TestPython\test.py is file: False is dir: False is exsit:False -------------------------------------------- D:\PythonProject\TestPython is file: False is dir: True is exsit:True -------------------------------------------- X:\PythonProject\TestPython is file: False is dir: False is exsit:False
热门文章
- 「1月20日」最高速度21.7M/S,2025年Shadowrocket/Clash/V2ray/SSR每天更新免费节点订阅链接
- 猫咪打的三针疫苗多少钱啊图片(猫咪打的三针疫苗多少钱啊图片大全)
- 布偶猫很少有人养(布偶不好养吗)
- 宠物粮在哪里批发的便宜(宠物粮在哪里批发的便宜些)
- 成都宠物领养平台怎么样啊多少钱一个(成都宠物领养平台交流微信群)
- 宠物粮食店名称大全四个字(宠物粮食专卖店)
- 「1月31日」最高速度22.9M/S,2025年Clash/SSR/Shadowrocket/V2ray每天更新免费节点订阅链接
- 网络协议之:socket协议详解之Unix domain Socket
- 「2月13日」最高速度18.7M/S,2025年V2ray/Clash/SSR/Shadowrocket每天更新免费节点订阅链接
- 猫咪打的三针疫苗多少钱(猫猫打三针多少钱)