(写于郑州,大年初一)
1、目录和文件的操作模块os.path,在使用之前要先导入:import os.path。它主要有以下几个重要的功能函数:
- abspath() #返回当前绝对路径
- basename() #返回路径名称的最后一个文件名或目录名称
- dirname() #返回指定路径名称的上层上层完整路径名称
- exists() #检查指定的路径或文件是否存在
- getsize() #返回文件大小(byte)
- isabs() #判断是否为绝对路径
- isfile() #判断路径是否为文件
- isdir() #判断路径是否为目录
- split() #把路径分割成dirname和basename,返回一个元组
- splitdrive() #一般用在windows下,返回驱动器名和路径组成的元组
- join(path , file) #把路径和文件名正确地结合成完整路径
2、示例说明,一看就明白。
import os.path
a = os.path.abspath("test1.py")
# test2.py文件在当前路径中确实存在,文件大小是111个字节
print("完整的路径名称是:", a)
print("最后一个文件名是:",os.path.basename(a))
print("上层完整路径名称是:",os.path.dirname(a))
print("文件test1.py在当前路径下存在吗?",os.path.exists("test1.py"))
print("文件test1.py的大小是:",os.path.getsize("test1.py"))
print("路径D:\\PythonTest\\test1.py是绝对路径吗?",os.path.isabs("D:\\PythonTest\\test1.py"))
print("路径\\PythonTest\\test1.py是绝对路径吗?",os.path.isabs("\\PythonTest\\test1.py"))
print("路径\\test1.py是绝对路径吗?",os.path.isabs("\\test1.py"))
print("路径test1.py是绝对路径吗?",os.path.isabs("test1.py"))
print("D:\\PythonTest是一个文件吗?",os.path.isfile("D:\\PythonTest"))
print("D:\\PythonTest\\test1.py是一个文件吗?",os.path.isfile("D:\\PythonTest\\test1.py"))
print("D:是一个目录吗?",os.path.isdir("D:"))
print("D:\\PythonTest是一个目录吗?",os.path.isdir("D:\\PythonTest"))
print("D:\\PythonTest\\test1.py是一个目录吗?",os.path.isdir("D:\\PythonTest\\test1.py"))
print("--------------")
dirFile = os.path.split("D:\\PythonTest\\test1.py")
print("D:\\PythonTest\\test1.py的上层路径和文件名的列表是:",dirFile)
print("D:\\PythonTest\\test1.py的上层路径是:",dirFile[0])
print("D:\\PythonTest\\test1.py的文件名是:",dirFile[1])
print("--------------")
drivePath = os.path.splitdrive("D:\\PythonTest\\test1.py")
print("D:\\PythonTest\\test1.py所在的磁盘驱动器和下层路径的列表是:",drivePath)
print("D:\\PythonTest\\test1.py所在的磁盘驱动器是:",drivePath[0])
path = "D:\\PythonTest"
file = "test1.py"
print("路径\"D:\\PythonTest\"和文件\"test1.py\"结合成完整路径后是:",os.path.join(path, file))
print("------------------------------------------------------------------------------------")
b = os.path.abspath("test100.txt")
# test100.txt文件在当前路径中不存在
print(b)
print(os.path.basename(b))
3、对比一下执行结果:
完整的路径名称是: D:\PythonTest\test1.py最后一个文件名是: test1.py上层完整路径名称是: D:\PythonTest文件test1.py在当前路径下存在吗? True文件test1.py的大小是: 111路径D:\PythonTest\test1.py是绝对路径吗? True路径\PythonTest\test1.py是绝对路径吗? True路径\test1.py是绝对路径吗? True路径test1.py是绝对路径吗? FalseD:\PythonTest是一个文件吗? FalseD:\PythonTest\test1.py是一个文件吗? TrueD:是一个目录吗? TrueD:\PythonTest是一个目录吗? TrueD:\PythonTest\test1.py是一个目录吗? False--------------D:\PythonTest\test1.py的上层路径和文件名的列表是: ('D:\\PythonTest', 'test1.py')D:\PythonTest\test1.py的上层路径是: D:\PythonTestD:\PythonTest\test1.py的文件名是: test1.py--------------D:\PythonTest\test1.py所在的磁盘驱动器和下层路径的列表是: ('D:', '\\PythonTest\\test1.py')D:\PythonTest\test1.py所在的磁盘驱动器是: D:路径"D:\PythonTest"和文件"test1.py"结合成完整路径后是: D:\PythonTest\test1.py------------------------------------------------------------------------------------D:\PythonTest\test100.txttest100.txtProcess finished with exit code 0