当前位置: 首页 > news >正文

Python - 目录文件(OS模块) 常用操作

目录

  • os模块的方法
  • os.path()模块的方法
  • 使用示例
    • 示例一:简单使用
    • 示例二:获取文件夹下指定条件的文件

os模块的方法

方法说明
os.listdir(path)取得指定文件夹下的文件列表
os.mkdir(path)创建一个名为path的文件夹
os.open(file, flags)打开一个文件,并且设置需要的打开选项
os.replace()重命名文件或目录
os.remove(path)删除路径为path的文件。如果path 是一个文件夹,将抛出OSError
os.removedirs(path)递归删除目录
os.rename(src, dst)重命名文件或目录,从 src 到 dst
os.renames(old, new)递归地对目录进行更名,也可以对文件进行更名。
os.rmdir(path)删除path指定的空目录,如果目录非空,则抛出一个OSError异常
os.getcwd()返回当前工作目录
os.utime(path, times)返回指定的path文件的访问和修改的时间

os.path()模块的方法

方法说明
os.path.abspath(path)返回绝对路径
os.path.basename(path)返回文件名
os.path.dirname(path)返回文件路径
s.path.exists(path)路径存在则返回True,路径损坏返回False
os.path.getatime(path)返回最近访问时间(浮点型秒数)
os.path.getmtime(path)返回最近文件修改时间
os.path.getctime(path)返回文件 path 创建时间
os.path.isabs(path)判断是否为绝对路径
os.path.isfile(path)判断路径是否为文件
os.path.isdir(path)判断路径是否为目录
os.path.join(path1[, path2[, ...]])把目录和文件名合成一个路径
os.path.normcase(path)转换path的大小写和斜杠
os.path.realpath(path)返回path的真实路径
os.path.samefile(path1, path2)判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2)判断fp1和fp2是否指向同一文件
os.path.split(path)把路径分割成 dirname 和 basename,返回一个元组
os.path.splitext(path)分割路径中的文件名与拓展名
os.path.walk(path, visit, arg)遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
f.endswith(file)获取文件扩展名

使用示例

示例一:简单使用

import os.path
import time
file = '/Users/qingmu/Desktop/运营/auto_work/text/read.txt'  # 文件路径
print(os.path.abspath(__file__))   # 当前文件名的绝对路径
>>> /Users/qingmu/Desktop/运营/auto_work/text/dir.pyprint(os.path.dirname(os.path.abspath(__file__)))   # 返回当前文件的路径
>>> /Users/qingmu/Desktop/运营/auto_work/textprint(os.path.basename(file))   # 返回文件名
>>> read.txtprint(os.path.dirname(file))    # 返回目录路径
>>> /Users/qingmu/Desktop/运营/auto_work/textprint(os.path.split(file))      # 分割文件名与路径
>>> ('/Users/qingmu/Desktop/运营/auto_work/text', 'read.txt')print(os.path.splitext(os.path.basename(file)))      # 分割路径中的文件名与拓展名
>>> ('read', '.txt')print(os.path.join("lechang", "text", "read.txt"))  # 将目录和文件名合成一个路径
>>> lechang/text/read.txtprint(os.path.getatime(file))  # 输出最近访问时间
>>> 1651410393.1434963print(os.path.getctime(file))  # 输出文件创建时间
>>> 1651410391.844215print(os.path.getmtime(file))  # 输出最近修改时间
>>> 1651410391.844215print(time.gmtime(os.path.getmtime(file)))  # 以struct_time形式输出最近修改时间
>>> time.struct_time(tm_year=2022, tm_mon=5, tm_mday=1, tm_hour=13, tm_min=6, tm_sec=31, tm_wday=6, tm_yday=121, tm_isdst=0)print(os.path.getsize(file))  # 输出文件大小(字节为单位)
>>> 74

示例二:获取文件夹下指定条件的文件

获取指定文件下所有包含“名单”,并且后缀名为.xls的文件

file_path = "/Users/lechang/Desktop/dir"    # 指定文件夹路径
old_names = os.listdir(file_path)           # 获取文件夹下所有文件
for old_name in old_names:                  # 循环获取到的所有文件名# 判断文件后缀为.xls,并且文件名包含"名单"if old_name.endswith(".xls") and "名单" in old_name:print(old_name)
http://www.lryc.cn/news/32404.html

相关文章:

  • 把本地代码初始化到远程git仓库
  • 关于angular中的生命周期函数
  • 【拼图】拼图游戏-微信小程序开发流程详解
  • 第六章 opengl之光照(颜色)
  • C语言-基础了解-19-C位域
  • MapReduce全排序和二次排序
  • 【Vue3】封装数字框组件
  • C++-简述strcpy、sprintf 和 memcpy 的区别
  • 用CPU大法忽悠ChatGPT写前端,油猴子工具库+1
  • 初识虚拟DOM渲染器
  • 工作日志day03
  • 【数据挖掘与商务智能分析】第三章 线性回归模型
  • iOS开发之UIStackView基本运用
  • 【java】为什么 main 方法是 public static void ?
  • 最简单的线性回归模型-标量
  • k8s-Kubernetes集群升级
  • Linux25 -- 监听队列链接上限测试、命令uname、ulimit
  • idea:地址被占用
  • JavaScript常用小技巧(js优化)
  • 【项目实战】MySQL 5.7中的关键字与保留字详解
  • Git图解-常用命令操作
  • LeetCode096不同的二叉搜索树(相关话题:卡特兰数)
  • 软件测试7
  • 12 结构:如何系统设计框架的整体目录?
  • 假如你知道这样的MySQL性能优化
  • 79、ClimateNeRF: Physically-based Neural Rendering for Extreme Climate Synthesis
  • 前端面试题(一)
  • Java基础常见面试题(七)
  • 【springmvc】报文信息转换器
  • 3.5知识点复习