import os
1.os.path.abspath(path) 返回path规范化的 绝对路径
path1 = os.path.abspath("./os模块1.py")
print(path1)
# 输出结果: F:\pythonProject\untitled\mywork\os模块\os模块1.py
2.os.path.split(path) 将path分割成目录和文件名二元组返回。
path2 = os.path.split(path1)
print(path2)
# 输出结果: ('F:\\pythonProject\\untitled\\mywork\\os模块', 'os模块1.py')
3.os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
path3 = os.path.dirname(path1)
print(path3)
# 输出结果: F:\pythonProject\untitled\mywork\os模块
4.os.path.basename(path) 返回path最后的文件名。即os.path.split(path)的第二个元素
path4 = os.path.basename(path1)
print(path4)
# 输出结果: os模块1.py
5.os.path.commonprefix(list) 返回list中,所有path 共有的最长的路径。
path5 = os.path.commonpath((path1, path3))
print(path5)
# 输出结果: F:\pythonProject\untitled\mywork\os模块
6.os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
path6 = os.path.exists("./a.txt")
print(path6)
path61 = os.path.exists("./os模块1.py")
print(path61)
# 输出结果: False , True
7.os.path.isabs(path) 如果path是绝对路径,返回True
path7 = os.path.isabs("./os模块1.py")
print(path7)
path7 = os.path.isabs(path1)
print(path7)
# 输出结果: False , True
8.os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False 文件 .py, .txt
path8 = os.path.isfile("./os模块1.py")
print(path8)
path81 = os.path.isfile("E:\workspace\os模块")
print(path81)
# 输出结果: True, False
9.os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False 目录/文件夹
path9 = os.path.isdir(r"E:\workspace\os模块\os模块1.py")
print(path9)
path91 = os.path.isdir(r"E:\mywork\os模块")
print(path91)
# 输出结果: False, False
10.os.path.join(path1[, path2[, …]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
path10 = os.path.join('E:\\workspace\\os模块', 'os模块1.py')
print(path10)
# 输出结果: E:\workspace\os模块\os模块1.py
path10 = os.path.join('windows\temp', 'c:\\', 'csv', 'test.csv')
print(path10)
# 输出结果: c:\csv\test.csv
11. os.path.normcase(path) 在Linux和Mac平台上,该函数会原样返回path,
在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为反斜杠
path11 =os.path.normcase('C:/Windows\\System32\\')
print(path11)
# 输出结果: c:\windows\system32\
12.os.path.normpath(path) 规范化路径。
path12 = os.path.normpath("c://windows\\System32\\../abc")
print(path12)
# 输出结果: c:\windows\abc
path12 = os.path.normpath("c://windows\\System32\\")
print(path12)
# 输出结果: c:\windows\System32
13.os.path.splitdrive(path) 返回(drivername,fpath)元组
path13 = os.path.splitdrive('E:\workspace\os模块\os模块1.py')
print(path13)
# 输出结果: ('E:', '\\workspace\\os模块\\os模块1.py')
14.os.path.splitext(path) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作
path14 = os.path.splitext('E:\workspace\os模块\os模块1.py')
print(path14)
# 输出结果: ('E:\\workspace\\os模块\\os模块1', '.py')
注意这两个的区别
print(os.path.split('E:\workspace\os模块\os模块1.py')) # ('E:\\workspace\\os模块', 'os模块1.py')
15、返回当前工作目录
print(os.getcwd())
# 输出结果: F:\pythonProject\untitled\mywork\os模块
16.os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间。
path16 = os.path.getatime(path1)
print(path16)
# 输出结果: 1540439661.1485267
17.os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
path17 = os.path.getmtime(path1)
print(path17)
print("*"*17)
# 输出结果: 1540439678.2045376
os.access(path, mode) 的介绍用法
假定 /tmp/foo.txt 文件存在,并有读写权限
"""
语法:
access()方法语法格式如下:
os.access(path, mode)
参数:
path -- 要用来检测是否有访问权限的路径。
mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。
os.F_OK: 包含在access()的mode参数中 , 测试path是否存在。
os.R_OK: 包含在access()的mode参数中 , 测试path是否可读。
os.W_OK: 包含在access()的mode参数中 , 测试path是否可写。
os.X_OK: 包含在access()的mode参数中 , 测试path是否可执行。
"""
ret = os.access("./text.py", os.F_OK)
print("F_OK - 返回值 %s" % ret)
ret = os.access("/tmp/foo.txt", os.R_OK)
print("R_OK - 返回值 %s" % ret)
ret = os.access("/tmp/foo.txt", os.W_OK)
print("W_OK - 返回值 %s" % ret)
ret = os.access("/tmp/foo.txt", os.X_OK)
print("X_OK - 返回值 %s" % ret)
"""
输出结果:
F_OK - 返回值 True
R_OK - 返回值 False
W_OK - 返回值 False
X_OK - 返回值 False
"""
20、 os.walk方法,主要用来遍历一个目录内各个子目录和子文件
for root, dirs, files in os.walk(".", topdown=False):
# print(root)
print(dirs) # 获取目录下的子目录
print(files) # 获取目录下的文件
# for name in files:
# print(os.path.join(root, name))
# for name in dirs:
# print(os.path.join(root, name))
print(os.path.abspath('.'))
print(os.path.abspath(__file__)) # 返回当前文件的绝对路径
print(os.path.dirname(os.path.abspath(__file__))) # 返回当前文件的父级目录
"""
输出结果:
F:\pythonProject\untitled\mywork\os模块
F:\pythonProject\untitled\mywork\os模块\os模块1.py
F:\pythonProject\untitled\mywork\os模块
"""
注意:os.path.join(path1, path2…pathn) 可能出现的坑
print(os.getcwd()) # F:\pythonProject\untitled\mywork\os模块 返回当前的工作目录
print(os.path.join("C:/user/", "/a.txt"))
# 输出结果: C:/a.txt
print(os.path.join("C:/user/", "a.txt"))
# 输出结果: C:/user/a.txt 无 \ 开头路径进行拼接
这个模块网上有很多很多,这些大部分都是他们常用的操作和方法,可以了解一下,用得多了就记住了,也没必要可以去记忆。仅供参考