4.5 ospath模块
os.path模块(重要):
1.路径问题 - 文件存储外存(C盘 D盘 E盘)位置
-绝对路径 --- 从盘符开始的路径
D:\\Python\\Python课程代码\\code\\04. Python模块
-相对路径 前面的路径用 . 代替
.\\04. Python模块
2.面试:windows和Linux的路径分隔符问题
windows: D:\\Python\\Python课程代码\\code\\04. Python模块
Linux: D:/Python/Python课程代码/code/04. Python模块
Linux的路径分隔符在windows同样适用,因此考虑兼容性问题 使用 /
import os.path as path
# *1.abspath: 根据相对路径返回绝对路径
print(path.abspath(".")) #D:\Python\Python课程代码\code
# .. 代表返回父级文件(上一级文件夹)
print(path.abspath("..")) #D:\Python\Python课程代码
print(path.abspath("./04. Python模块")) #D:\Python\Python课程代码\code\04. Python模块
# 2.altsep:查看python中的路径分隔符
print(path.altsep) #/
CUR_PATH = "D:\\Python\\Python课程代码\\code\\04. Python模块\\4.5 ospath模块.py"
FILE_PATH = "D:\\Python\\Python课程代码\\code\\04. Python模块"
# *3.basename :取某个路径下的文件或文件名 (路径中最后一个文件或文件夹)
print(path.basename(CUR_PATH)) #4.5 ospath模块.py
print(path.basename(FILE_PATH)) #04. Python模块
# *4.dirname: 文件所在的目录 (文件的上一级文件))
print(path.dirname(CUR_PATH)) #D:\Python\Python课程代码\code\04. Python模块
print(path.dirname(FILE_PATH)) #D:\Python\Python课程代码\code
# *5.exists: 判断当前文件是否存在
print(path.exists(CUR_PATH)) #True
print(path.exists("F:\\")) #False
# *6.getsize: 获取文件大小 kb 一个数字,字母大小:1kb 一个汉字大小:3kb
print(path.getsize(CUR_PATH)) #1953
# *7.join:拼接路径的方式
PARENT_PATH = "D:\\Python\\Python课程代码\\code\\04. Python模块"
CHILD_PATH = "4.5 ospath模块.py"
print(path.join(PARENT_PATH,CHILD_PATH))
# sep
print(path.sep) # \
# 测试isdir isfile
'''作业:使用os和os.path以及函数的递归完成:
给出一个路径,遍历当前路径所有的文件及文件夹,打印输出所有的文件夹
(遇到文件输出路径,遇到文件夹继续进文件夹)'''