20201220_138_os.path模块_常用方法

os.path 模块

os.path 模块提供了目录相关(路径判断、路径切分、路径连接、文件夹遍历)的操作

方法描述
isabs(path)判断path是否为绝对路径
isdir(path)判断路径是否为目录
isfile(path)判断路径是否为文件
exists(path)判断指定路径的文件是否存在
getsize(filename)返回文件的大小
abspath(path)返回文件的绝对路径
dirname§返回所在目录
getctime(filename)返回文件的创建时间
getatime(filename)返回文件的最后访问时间
getmtime(filename)返回文件的最后修改时间
walk(top, func, arg)递归遍历目录
join(path, *paths)连接多个path
split(path)对路径进行分隔,以元组形式返回目录、文件名
splitext(path)从路径中分割文件的扩展名,以元组形式返回目录、扩展名

【例1】测试 os.path 中常用方法

import os.path

"""获取文件、目录的基本信息"""
print(os.path.isabs('f:/fake.csv'))  # 仅仅是判断字符串中的格式是否为绝对路径,并不会检查该路径是否真的存在
print(os.path.isdir('f:/a.csv'))
print(os.path.isfile('f:/a.csv'))
print(os.path.exists('f:/fake.csv'))
print(os.path.getsize('f:/a.csv'))
print(os.path.abspath('138practice.py'))
print(os.path.dirname('f:/a.csv'))  # 打印所在目录

"""获取创建时间、最后访问时间、最后修改时间"""
print(os.path.getctime('138practice.py'))
print(os.path.getatime('138practice.py'))
print(os.path.getmtime('138practice.py'))

"""对路径进行分割、连接操作"""
path = os.path.abspath('138.practice.py')
print(os.path.split(path))  # 返回元组:目录、文件
print(os.path.splitext(path))  # 返回元组:目录、扩展名
print(os.path.join('aa', 'bb', 'cc'))

运行结果:
在这里插入图片描述

【例2:应用示例】列出指定目录下所有的.py

import os.path

# 法1:通过标准判断语句
path = os.getcwd()
file_list = os.listdir(path)  # 列出当前路径下的子目录和子文件
for filename in file_list:
    pos = filename.rfind('.')
    # str.rfind(str, beg=0 end=len(string))返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
    if filename[pos + 1:] == 'py':
        print(filename)


print('#############################################')


# 法2:通过列表推导式
file_list2 = [filename for filename in os.listdir(path) if filename.endswith('.py')]
# str.endswith(suffix[, start[, end]])endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,
# 否则返回 False。可选参数 "start" 与 "end" 为检索字符串的开始与结束位置。
for filename in file_list2:
    print(filename, end='\t')

运行结果:
在这里插入图片描述
注:不完全截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值