os.path()模块
os.path 模块主要用于获取文件的属性。
abspath()方法返回一个目录的绝对路径。
语法: os.path.abspath(path) 示例:import os pat = os.path.abspath(new)print(pat)# C:\Users\lu\PycharmProjects\test_project\content\new basename()方法返回一个目录的文件名。
语法: os.path.basename(path) 示例:import osdir = os.path.basename(/test_project/content/new)print(dir)# new dirname()方法返回一个目录的文件路径。
语法: os.path.dirname(path) 示例:import os dir = os.path.dirname(/test_project/content/new)print(dir)# /test_project/content join()方法把目录和文件名合成一个路径。windows默认用\拼接。
语法: os.path.join(path1[, path2[,...]]) 示例:import osdir = os.path.join(/test_project/content,new)print(dir)# /test_project/content/new split()方法把路径分割成 dirname 和 basename,返回一个元组。
语法: os.path.split(path) 示例:import osresult = os.path.split(/test_project/content)print(result)# (/test_project, content) exists()方法测试指定文件是否存在。存在则返回True,不存在则返回False。
语法: os.path.exists(path) 示例:假设存在文件xkd.py,如下所示:
import osresult = os.path.exists(xkd.py)print(result)# True# 不存在返回Falseresult1 = os.path.exists(aa.py)print(result1)# False getatime()方法得到指定文件最后一次的访问时间。返回结果为浮点型秒数。
语法: os.path.getatime(path) 示例:输出xkd.py文件最后一次的访问时间,如下所示:
import osresult = os.path.getatime(xkd.py)print(result)# 1565667299.7847126 getctime()方法得到指定文件最后一次的改变时间。返回结果为浮点型秒数。
语法: os.path.getctime(path) 示例:输出test.py文件最后一次的改变时间,如下所示:
import osresult = os.path.getctime(test.py)print(result)# 1565853902.035506 getmtime()方法得到指定文件最后一次的修改时间。
语法: os.path.getmtime(path) 示例:输出test.py文件最后一次的修改时间,如下所示:
import osresult = os.path.getmtime(test.py)print(result)# 1565861158.5235534 getsize()方法返回文件大小,如果文件不存在就返回错误。
语法: os.path.getsize(path) 示例:输出test.py的大小,如下所有:
import osresult = os.path.getsize(test.py)print(result)# 85result1 = os.path.getsize(aa.py)print(result1)# 报错:FileNotFoundError commonprefix()方法返回最长路径前缀(逐个字符),它是列表中所有路径的前缀 。如果list为空,则返回空字符串()。
语法: os.path.commonprefix(list) 示例:import osresult = os.path.commonprefix([content,content/xkd,content/xkd/test.py])print(result)# content splitext()方法分割路径,返回路径名和文件扩展名的元组。
语法: os.path.splitext(path) 示例:import osresult = os.path.splitext("/content/xkd.py")print(result)# (/content/xkd, .py) lexists()方法判断路径是否存在,路径存在则返回True,如果路是是一个受到破坏的软链接(原始文件/文件夹被删除)也返回True。
语法: os.path.lexists(path) 示例:import osresult = os.path.lexists(C:/Users/lu/PycharmProjects/test_project/content)print(result)# Trueresult1 = os.path.lexists(/test_project/content/xkd.py)print(result1)# False expanduser()方法把path中包含的~和~user转换成用户目录。
语法: os.path.expanduser(path) 示例:import osresult = os.path.expanduser(~/test_project/content)print(result)# C:/Users/lu/test_project/contentresult1 = os.path.expanduser(~test_project/content)print(result1)# C:/Users/test_project/content expandvars()方法扩展path中的环境变量并返回。path中$NAME和${NAME}格式的子串将被对应的环境变量替换(不同平台存在是否区分大小写的问题)。格式错误或变量不存在,将直接返回。
在windows中还包括%NAME%的形式。
语法: os.path.expandvars(path) isabs()方法判断是否为绝对路径。
语法: os.path.isabs(path) 示例:import osresult = os.path.isabs("new")print(result)# False isabs()方法判断是否为绝对路径。是则返回True,否则返回False。
语法: os.path.isabs(path) 示例:import osresult = os.path.isabs("/test_project/content")print(result)# Trueresult1 = os.path.isabs("new")print(result1)# False isfile()方法判断路径是否为文件。
语法: os.path.isfile(path) 示例:import osresult = os.path.isfile("test.py")print(result)# True# 不是文件返回Falseresult1 = os.path.isfile("new")print(result1)# False islink()方法判断路径是否为链接。
语法: os.path.islink(path) 示例:import osresult = os.path.isdir("/test_project/content")print(result)# False ismount()方法判断路径是否为挂载点。
语法:os.path.ismount(path) 示例:import osresult = os.path.ismount("/content/new")print(result)# False normcase()方法规范路径名大小写。在Unix和Mac OS X系统,直接返回path。在大小写不敏感的系统(如Windows),会将path转换为小写字母。此外Windows还会将/转换为\\。
语法:os.path.normcase(path) 示例:import osresult = os.path.normcase(/CONTENT/xkd.py)print(result)# \content\xkd.py normpath()方法规范path字符串形式。
语法:os.path.normpath(path) 示例:import osresult = os.path.normpath(/content/xkd.py)print(result)# \content\xkd.py realpath()方法返回path的真实路径。
语法:os.path.realpath(path) 示例:import osresult = os.path.realpath("/content/new")print(result)# C:\content\new relpath()方法返回相对于当前工作目录或指定的start目录的相对路径。
语法:os.path.relpath(path, start=os.curdir) 示例:import osresult = os.path.relpath(/test_project/content, start=os.curdir)print(result)# ..\..\..\..\..\test_project\content samefile()方法判断path1和path2是否指向同一个文件或目录,取决于设备号和i-node。如果调用os.stat()失败将抛出异常。
语法:os.path.samefile(path1, path2) 示例:import osresult = os.path.samefile(test.py,xkd.py)print(result)# False sameopenfile()方法判断文件描述符fp1和fp2是否指向同一个文件或目录。
语法:os.path.sameopenfile(fp1, fp2) 示例:import osfd1 = os.open("test.txt", os.O_RDWR | os.O_CREAT)fd2 = os.open("test.txt", os.O_RDWR | os.O_CREAT)fd3 = os.open("xkd.txt", os.O_RDWR | os.O_CREAT)result = os.path.sameopenfile(fd1, fd2)print(result)# Trueresult1 = os.path.sameopenfile(fd1, fd3)print(result1)# False samestat()方法判断状态元组stat1和stat2是否指向同一个文件或目录,参数可能是os.fstat()、os.lstat或os.stat()的返回值。
语法:os.path.samestat(stat1, stat2) 示例:import osstat1 = os.stat("test.py")stat2 = os.stat("test.py")stat3 = os.stat("xkd.py")result = os.path.samestat(stat1, stat2)print(result)# Trueresult1 = os.path.samestat(stat1, stat3)print(result1)# False splitdrive()方法一般用在 windows 下,返回驱动器名和路径组成的元组。
语法:os.path.splitdrive(path) 示例:import osresult = os.path.splitdrive(/test_project/content/xkd.py)print(result)# (, /test_project/content/xkd.py)supports_unicode_filenames
判断是否能使用任意Unicode字符串作为文件名(在文件系统强加的限制内)。
扫一扫,关注我们