我是一名测试开发工程师(全栈),作品有全终端自动化测试框架wyTest,未羽研发测试管理平台,欢迎同行交流。
测试同学可以举个手,认识一下,交个朋友。
一、函数说明:
- 获取路径的子文件、子目录:os.listdir
- 支持排序操作:创建时间排序、修改时间排序、文件名排序
二、封装成方便维护和使用的函数:
#!/usr/bin/env/python3
# coding=utf-8
# @Time : 2024-06-28 23:09:18
# @Author : weiyv_cn@163.com
# @File : pathFun.py
# @模块 : 路径处理
import os
class PathFun:
# <editor-fold 获取路径下的子项(目录和文件)>
@staticmethod
def file_list(path: str, sort: Literal["mTime", "cTime", "fName", ""] = "", reverse: bool = True):
"""
@功能: 获取路径下的子项(目录和文件)
@调用: PathFun.file_list
:param path: 必选;string类型;完整路径;
:param sort: 可选;string类型;排序方式,取值范围:mTime|cTime|fName;
:param reverse: 可选;bool类型;排序规则,默认升序;
:return: list类型
"""
fileList = os.listdir(path)
if len(fileList) > 1 and sort:
if sort == "mTime": # 最后修改时间排序
fileList = sorted(fileList, key=lambda x: os.path.getmtime(os.path.join(path, x)), reverse=reverse)
elif sort == "cTime": # 最后创建时间排序
fileList = sorted(fileList, key=lambda x: os.path.getctime(os.path.join(path, x)), reverse=reverse)
elif sort == "fName": # 文件名排序
fileList = sorted(fileList, reverse=reverse)
return fileList
# </editor-fold>
封装函数后,可以供给项目使用,避免项目代码直接对三方函数产生依赖。这样,日后如果三方函数发生重大变革,只需要维护自己封装的函数,而大批量的项目代码无需改动,极大了降低了使用难度和维护成本。
测试同学可以举个手,认识一下,交个朋友。