Python3 os.path() 模块
os.path 模块主要用于获取文件的属性。
以下是 os.path 模块的几种常用方法:
方法 | 描述 |
---|---|
os.path.abspath(path) | 返回绝对路径字符串。 |
os.path.basename(path) | 返回路径中的文件名部分。 |
os.path.commonpath(paths) | 返回指定路径序列中的共同基础路径。 |
os.path.commonprefix(list) | 返回指定路径序列中的共同前缀。 |
os.path.dirname(path) | 返回路径中的目录部分。 |
os.path.exists(path) | 判断路径是否存在。 |
os.path.lexists(path) | 判断路径是否存在,会解析符号链接。 |
os.path.getatime(path) | 返回路径的最后访问时间(浮点数形式的时间戳)。 |
os.path.getmtime(path) | 返回路径的最后修改时间(浮点数形式的时间戳)。 |
os.path.getctime(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) | 规范化路径的大小写。 |
os.path.normpath(path) | 规范化路径字符串。 |
os.path.realpath(path) | 返回规范化的绝对路径。 |
os.path.relpath(path, start) | 返回从 start 路径到 path 的相对路径。 |
os.path.samefile(path1, path2) | 判断两个路径是否指向同一个文件。 |
os.path.sameopenfile(fp1, fp2) | 判断两个打开的文件是否指向同一个文件。 |
os.path.samestat(stat1, stat2) | 判断两个 stat tuple 是否引用同一个文件。 |
os.path.split(path) | 返回路径的目录和文件名。 |
os.path.splitdrive(path) | 返回驱动器名称和路径组成的元组。 |
os.path.splitext(path) | 分割路径的文件名和扩展名。 |
os.path.splitunc(path) | 将路径分为共享设备和文件部分。 |
os.path.walk(top, func, arg) | 为 top 目录树中的每个目录调用 func,并向其传递 arg。 |
以下实例演示了 os.path 相关方法的使用:
实例代码
#!/usr/bin/env python
import os.path
# 当前文件名
print(__file__)
# 当前文件名的绝对路径
print( os.path.abspath(__file__) )
# 返回当前文件的路径
print(os.path.dirname( os.path.abspath(__file__) ))
import os.path
# 当前文件名
print(__file__)
# 当前文件名的绝对路径
print( os.path.abspath(__file__) )
# 返回当前文件的路径
print(os.path.dirname( os.path.abspath(__file__) ))
以下实例输出文件的相关信息。
test.py /haodaima/haodaima-test-py/test.py /haodaima/haodaima-test-py
实例代码
#!/usr/bin/python3
import os
print( os.path.basename('/root/haodaima.txt') ) # 返回文件名
print( os.path.dirname('/root/haodaima.txt') ) # 返回目录路径
print( os.path.split('/root/haodaima.txt') ) # 分割文件名与路径
print( os.path.join('root','test','haodaima.txt') ) # 将目录和文件名合成一个路径
执行以上程序输出结果为:
haodaima.txt /root ('/root', 'haodaima.txt') root/test/haodaima.txt
以下实例输出文件的相关信息。
实例代码
import os
import time
file='/root/haodaima.txt' # 文件路径
print( os.path.getatime(file) ) # 输出最近访问时间
print( os.path.getctime(file) ) # 输出文件创建时间
print( os.path.getmtime(file) ) # 输出最近修改时间
print( time.gmtime(os.path.getmtime(file)) ) # 以struct_time形式输出最近修改时间
print( os.path.getsize(file) ) # 输出文件大小(字节为单位)
print( os.path.abspath(file) ) # 输出绝对路径
print( os.path.normpath(file) ) # 规范path字符串形式
执行以上程序输出结果为:
1539052805.5735736 1539052805.5775735 1539052805.5735736 time.struct_time(tm_year=2018, tm_mon=10, tm_mday=9, tm_hour=2, tm_min=40, tm_sec=5, tm_wday=1, tm_yday=282, tm_isdst=0) 7 /root/haodaima.txt /root/haodaima.txt