核心:
主要应用:
1.文件/目录操作
2.路径(path)判断,拼接
3.交互命令
文档/目录操作:
import os import time #系统文档操作命名: # #获取当前工作目录 # # a = os.getcwd() # # print(a) # # # a2 = os.chdir("asb") # print(os.getcwd()) # print(os.chdir("asb")) # print(os.getcwd()) # # #返回当前目录 # # print(os.curdir('.')) # # #获取当前内目录的父目录字符串 # os.pardir() # # #生成多层递归目录 # os.makedirs("dirname1") # # #递归删除 # os.removedirs("dirname1") # # #生成单级目录 # os.mkdir() # # #删除单级目录,不为空则报错 # os.rmdir("dirname1") # # #列出目录下所有文件和子目录,包括隐藏文件,返回列表类型 # os.listdir() # # #删除一个文件 # os.remove("dirname1") # # #重命名文件/目录 # os.rename("oldname","newname") # os.rename(old_file_path, new_file_path), 只能对相应的文件进行重命名, 不能重命名文件的上级目录名. # os.renames(old_file_path, new_file_path), 是os.rename的升级版, 既可以重命名文件, 也可以重命名文件的上级目录名. # #获取文件/目录信息 # os.stat('path/filename') # #获取系统环境变量 # os.environ # print(os.environ) # #返回path所指向的文件或者目录的最后存取时间,返回的是时间戳 # os.path.getatime(path) # print(time.localtime(os.path.getatime("asb"))) # # #返回path所指向的文件或者目录的最后修改时间,返回的是时间戳 # os.path.getmtime(path) # print(time.localtime(os.path.getmtime("asb"))) # #返回path所指向的文件或者目录的创建时间,返回的是时间戳 # os.path.getctime(path) # print(time.localtime(os.path.getctime("asb")))
路径(path)判断,拼接:
#系统路径(path)判断,拼接 # #返回path规范化的绝对路径 # os.path.abspath(path) # print(os.path.abspath("asb")) # # #将path分割成目录和文件名二元组返回 # os.path.split(path) # print(os.path.split("F:/python/练习/test06/test06.py")) # #返回path中目录 # os.path.dirname(path) # print(os.path.dirname("F:/python/练习/test06/test06.py")) # # #返回路径中文件名 # os.path.basename() # print(os.path.basename("F:/python/练习/test06/test06.py")) # #如果path存在,返回true如果path不存在返回false # os.path.exists(path) # print(os.path.exists(r"F:python 练习 est06asb")) # print(os.path.exists("asb1")) # #如果path是绝对路径,返回True # os.path.isabs(path) # print(os.path.isabs("F:/python/练习/test06")) # print(os.path.isabs("练习/test06")) # #如果path是一个存在的文件,返回true,否则返回false # os.path.isfile(path) # print(os.path.isfile("asb")) # print(os.path.isfile("test07.py")) # #如果path是一个存在的目录,则返回true,否则返回false # os.path.isdir(path) # print(os.path.isdir("asb")) # print(os.path.isdir("asb11")) # #将多个路径组合拼接返回, # os.path.join(a,b,c) # a = r"G:/" # b = '迅雷下载' # c = os.path.join(a,b) # print(c)
交互命令:
# 系统交互: # #执行命令 # os.system("command") #方法用于从一个命令打开一个管道。 # os.popen(a,b,c) # while True: # a = input(">>>") # if a == "quit": break # b = os.popen(a).read() # print(b)
遍历路径下的所有目录和文件:
os.walk()
top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
- root 所指的是当前正在遍历的这个文件夹的本身的地址
- dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
- files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
import os for root, dirs, files in os.walk(r“文件路径"): print(root,dirs,files) for name in files: print(os.path.join(root,name))