python3笔记十九:os和ospath模块
一:学习内容
- os模块
- ospath模块
- 获取指定目录下所有文件和目录
二:os模块
包含了普遍的操作系统功能,需要导入该模块:import os
当前所在位置目录结构为:
- 目录操作
1.获取当前目录-相对路径
print(os.curdir)
2.获取当前工作目录,即当前py脚本所在目录-绝对路径
print(os.getcwd())
3.以列表的形式返回指定目录下的所有的文件(包括目录),只拿到最上层
print(os.listdir(r"F:\python\test02"))
4.在当前目录下创建新目录,支持相对路径和绝对路径
os.mkdir("test002")
5.在当前目录下删除目录
os.rmdir("test002") #没有文件删除会报错
- 文件操作
1.获取文件属性
print(os.stat("test02.txt"))
2.重命名文件
os.rename("test02.txt","python_test.txt")
3.删除普通文件
os.remove("python_test.txt")
三:ospath模块
包含了普遍的操作系统功能,需要导入该模块:import os
当前所在位置目录结构为:
1.查看当前的绝对路径
print(os.path.abspath("."))
print(os.path.abspath("./test002"))
2.拼接路径
p1 = r"F:\python\test02"
p2 = "python_test.txt"
#注意:参数2开始的地方不要有斜杠,即python_test.txt的p前面不要有斜杠
print(os.path.join(p1,p2))
3.拆分路径
p5 = r"F:\python\test02"
#把最后的路径单独拆成一个
print(os.path.split(p5))
4.获取扩展名 .txt
p6 = r"F:\python\test02\python02.py"
print(os.path.splitext(p6))
5.判断是否是目录,目录需要真实存在
p7 = r"F:\python\test"
print(os.path.isdir(p7))
6.判断是否是文件,文件需要真实存在
p8 = r"F:\python\test02\python02.py"
print(os.path.isfile(p8))
7.判断路径(目录或文件)是否存在
p9 = r"F:\python\test02"
print(os.path.exists(p9))
p9 = r"F:\python\test02\python02.py"
print(os.path.exists(p9))
8.获取文件大小,按字节数统计,一个汉字2个字节
p10 = r"F:\python\test02\python_test.txt"
print(os.path.getsize(p10))
9.获取文件目录
p11 = r"F:\python\test02\python_test.txt"
print(os.path.dirname(p11))
10.获取文件名
p12 = r"F:\python\test02\python_test.txt"
print(os.path.basename(p12))
四:获取指定目录下所有文件和目录
包含了普遍的操作系统功能,需要导入该模块:import os
当前所在位置目录结构为:
代码如下:
import os
def getAllDir(path,sp=""):
#处理当前目录下所有文件
dirList = os.listdir(path)
sp += " "
#处理每个文件
for fileName in dirList:
fileAbsPath = os.path.join(path,fileName)
if os.path.isdir(fileAbsPath):
print(sp + "目录为:", fileName)
getAllDir(fileAbsPath,sp)
else:
print(sp + "文件为:",fileName)
path = r"F:\python"
getAllDir(path)
运行结果为: