OS模块
- os.path.abspath() :返回path规范化的绝对路径
import sys import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR)os.getcwd()
- os.getcwd():直接获取当前工作文件的目录,即当前python脚本工作的目录路径
print(os.getcwd()) # 结果 F:\workspace\OldBoy\源码\课件与源码\python全栈3期-课件与源码\day22源码\day22课堂代码\day22
- os.chdir("") : 改变当前脚本工作目录;相当于shell下cd
特别要注意:
win:路径全部都是反斜杠的,如:F:\workspace\OldBoy\源码\课件与源码\python全栈3期-课件与源码\day22源码\day22课堂代码\day22\test1
linux:路径全部都是斜杠的,如:F:/workspace/OldBoy/源码\课件与源码/python全栈3期-课件与源码/day22源码/day22课堂代码/day22/test1
Python中,所有路径都要采用Linux系统下的路径格式,用斜杠
os.chdir("test1") # 将当前脚本的工作目录变更为test1 print(os.getcwd()) #结果,当前脚本的工作目录就变更到test1下面了 F:\workspace\OldBoy\源码\课件与源码\python全栈3期-课件与源码\day22源码\day22课堂代码\day22\test1
os.chdir("..") # 返回上一级目录
print(os.getcwd())
# 结果
# F:\workspace\OldBoy\源码\课件与源码\python全栈3期-课件与源码\day22源码\day22课堂代码
- os.curdir():返回当前目录:('.')
print(os.curdir) # 结果 .
- os.pardir() :获取当前目录的父目录字符串名:(’..‘)
print(os.pardir) # 结果 ..
- os.makedirs('dirname1/dirname2'):可生成多层递归目录
os.makedirs("dir1/dir2")
- os.removedirs("dirname1"):若目录为空,则删除,并递归到上一级目录,上一级目录如果也是空的,则删除,以此类推
os.removedirs("dir1/dir2") # 会将上面创建的两个文件夹都删掉 # 如果dir1下面创建任意一个文件,则只删除dir2
- os.mkdir("dirname"):生成一个目录;相当于shell中mkdir dirname
os.mkdir("dir3")
- os.rmdir("dirname"):删除单级空目录,若目录不为空则无法删除,报错;相当于shell下的rmdir dirname
os.rmdir("dir3")
- os.listdir():列出指定目录下的所有文件和子目录,包含隐藏文件,并以列表方式打印
# 指定目录,就只会列出该目录下的文件和子目录 print(os.listdir("dir1")) # 结果 # ['1.py', 'dir2'] # 没指定目录,列出的是与当前脚本同级的目录和文件 print(os.listdir())
- os.remove():删除一个文件
# 必须指定要删除的文件的目录 os.remove("dir1/1.py")
- os.rename("oldname","newname"):重命名文件/目录
# 把