os.path函数简要分析

os模块详解

os模块简介

  • os模块实现了在路径上的一些有用的功能。

  • os.path.abspath(path)
  • 返回一个绝对路径名
    import os.path
    abspath = os.path.abspath('/User/home/Work')
    print(abspath)
    
    # '/User/home/Work'
    

    • os.path.basename(path)
    • 返回一个路径的基本名称
    import os.path
    path = os.path.basename('/User/home/code')
    print(path)
    
    # 'code'
    

    • os.path.exists(path)
    • 返回True或False,如果返回True则是说明路径存在或者说是一个打开的文件描述符。如果为False则为受损的文件描述符或者是路径不存在
    import os.path
    
    path = os.path.exists('/usr/local/bin/nginx')
    print(path)
    
    # False
    

    • os.path.expanduser(path)
    • 在*Unix和windows上,返回带有初始化组件~~user由该用户主目录替换的参数
    • Note:如果路径没有以波浪号开头,则路径将保持不变
    import os.path
    path = os.path.expanduser('~/Public')
    print(path)
    
    # '/User/XXX/home/Public'
    
    
    path = os.path.expanduser('/Download')
    print(path)
    
    # /Download
    

    • os.path.getatime(path)
    • 返回上次访问路劲的时间,返回值是一个浮点数
    import os.path
    t = os.path.getatime('/User/xxx/home/Downloads')
    print(t)
    
    # 1554867563.570219
    

    • os.path.getmtime(path)
    • 返回上次修改路径的时间,返回值是一个浮点数
    import os.path
    path = os.path.getmtime('/User/xxx/home/Downloads')
    print(path)
    
    # 1554781010.0541766
    

    • os.path.getctime(path)
    • 返回系统的ctime,在一些*Unix系统中返回的是最后一次元数据更改的时间,而其他系统则是路径的创建时间
    import os.path.getctime
    path = os.path.getctime('/User/xxx/home/Downloads')
    print(path)
    
    # 1554781010.0541766
    

    • os.path.getsize(path)
    • 返回路径的大小
    import os.path
    path = os.path.getsize('/User/xxx/home/Public')
    print(path)
    
    # 4096
    

    • os.path.isabs(path)
    • 返回值True或者False,如果返回的是True则是一个绝对路径名称,反之亦然
    import os.path
    path = os.path.isabs('/User/xxx/home/Public')
    print(path)
    
    # True
    

    • os.path.isfile
    • 返回值True或者False,如果为True则说明文件存在,反之亦然
    import os.path
    path = os.path.isfile('/User/xxx/home/Public/abc.txt')
    print(path)
    
    # False
    

    • os.path.isdir(path)
    • 返回值是True和False,如果是True则说明该路径是一个目录,反之亦然
    import os.path
    path = os.path.isdir('/User/xxx/home/Public')
    print(path)
    
    # True
    

    • os.path.join(path, path)
    • 路径拼接
    import os.path
    path = os.path.join('/User/xxx/home/', 'Downloads')
    print(path)
    
    # /User/xxx/home/Downloads
    

    • os.path.relpath(path) or os.path.relpath(path, start=os.curdir)
    • 返回一个规范的路劲,消除路径中遇到的任何符号链接
    import os.path
    path = os.path.relpath('/User/xxx/home/')
    print(path)
    
    # /User/xxx/home/
    

    • os.path.split(path)
    • 将路径名拆分为一对
    import os.path
    path = os.path.split('/User/xxx/home/Plublic')
    print(path)
    
    # ('/User/xxx/home', 'Public')
    
    帮我把os.path.abspath(path) 返回绝对路径 os.path.basename(path) 返回文件名 os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径 os.path.dirname(path) 返回文件路径 os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在或损坏,返回 False。 os.path.lexists(path) 路径存在则返回 True,路径损坏也返回 True os.path.expanduser(path)path 中包含的 ~ 和 ~user 转换成用户目录 os.path.expandvars(path) 根据环境变量的值替换 path 中包含的 $name 和 ${name} os.path.getatime(path) 返回最近访问时间(浮点型秒数) os.path.getmtime(path) 返回最近文件修改时间 os.path.getctime(path) 返回文件 path 创建时间 os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误 os.path.isabs(path) 判断是否为绝对路径 os.path.isfile(path) 判断路径是否为文件 os.path.isdir(path) 判断路径是否为目录 os.path.islink(path) 判断路径是否为链接 os.path.ismount(path) 判断路径是否为挂载点 os.path.join(path1[, path2[, ...]]) 把目录和文件名合成一个路径 os.path.normcase(path) 转换path的大小写和斜杠 os.path.normpath(path) 规范path字符串形式 os.path.realpath(path) 返回path的真实路径 os.path.relpath(path[, start]) 从start开始计算相对路径 os.path.samefile(path1, path2) 判断目录或文件是否相同 os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件 os.path.samestat(stat1, stat2) 判断stat tuple stat1和stat2是否指向同一个文件 os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组 os.path.splitdrive(path) 一般用在 windows 下,返回驱动器名和路径组成的元组 os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组 os.path.splitunc(path) 把路径分割为加载点与文件 os.path.walk(path, visit, arg) 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数 os.path.supports_unicode_filenames 设置是否支持unicode路径名修改成### Python os模块函数功能分类整理 #### 1. **文件与目录操作** - **路径处理** - `os.path.join()`:拼接路径 - `os.path.abspath()`:获取绝对路径 - `os.path.dirname(path)`:返回目录路径(去掉文件名) ```python os.path.dirname("E:/Read_File/read_yaml.py") # 输出: E:/Read_File ``` - `os.path.basename()`:提取文件名 - `os.path.splitext(path)`:分割文件名与扩展名(返回二元组) ```python os.path.splitext('a/b/text.txt') # 输出: ('a/b/text', '.txt') ``` - **目录遍历与操作** - `os.walk(top)`:递归遍历目录树(返回路径、子目录、文件列表) - `os.mkdir()` / `os.makedirs()`:创建目录(单级/多级) - `os.rmdir()` / `os.removedirs()`:删除目录(单级/多级) - **文件属性** - `os.path.getsize(file)`:获取文件大小(字节) - `os.path.exists()`:检查路径是否存在 - `os.path.isfile()` / `os.path.isdir()`:判断是否为文件/目录 --- #### 2. **环境变量管理** - `os.environ`:字典形式存储所有环境变量 - `os.environ.get(key)`:安全获取环境变量值(无键时返回 `None`) ```python db_password = os.environ.get("DB_PASSWORD") # 安全获取敏感信息 ``` --- #### 3. **进程与系统控制** - **进程管理** - `os.system(command)`:执行系统命令 - `os.kill(pid, signal)`:终止进程 - **系统信息** - `os.name`:操作系统名称(如 `'nt'` 表示 Windows) - `os.sep`:系统路径分隔符(如 `\` 或 `/`) --- #### 4. **路径规范化与扩展** - `os.path.normpath(path)`:规范化路径(移除冗余分隔符) ```python os.path.normpath("C://Users//test") # 输出: C:\Users\test ``` --- #### 5. **文件操作** - `os.rename(src, dst)`:重命名/移动文件 - `os.remove(path)`:删除文件 - `os.stat(path)`:获取文件状态(大小、修改时间等) ---这样然后用.md文件格式返回给我
    07-30
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
    红包 添加红包
    表情包 插入表情
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值