os和操作系统相关的模块
-
os.path.exists(path):如果path存在返回True,否则false
-
Os.stat(“文件路径”).st_size:获取文件大小
-
os.path.abspath():获取文件绝对路径
-
os.path.dirname():上一级目录
-
os.path.basename(path):获取该路径下的文件名字 常用
-
os.path.isfile(path)
-
os.path.isdir(path)
- r"路径":转义特殊字符
import os v=r"/usr/local/bin/python3.6" print(os.path.dirname(v)) #/usr/local/bin #r:使用r转义 如果路径中出现特殊字符,r自动转换 v=r"D:\test\n1.txt” #\n特殊
-
Os.path.join():路径拼接 兼容wind和linux,mac路径表示不一致问题
path ="D:\code\s1" # v1="/usr/local/bin/n1.mp3" result=os.path.join(path,v1) result=os.path.join(path,v1,v2,v3)
-
Os.listdir():查看一个目录下所有文件[第一层]
v1="/usr/local/bin" result=os.listdir(v1) print(result)
-
Os.walk():查看当前文件下所有文件(包括嵌套的)
- 返回一个三元元组(dirpath,dirnames,filename)
- Dirpath:string 代表目录的路径
- Dirnames:是一个列表,dirpath下所有子文件夹名字
- Filename:列表,包含当前目录的所有文件,但是不包含全路径os.path.join(dirpath, name).需要使用
import os result=os.walk("/Users/gaogao/Python_code/day01") for root,dirs,files in result: print(root,dirs,files) # for dir in dirs: # print(os.path.join(root,dir)) # # for file in files:#可以查看文件夹下所有文件 # print(os.path.join(root,file))
7.写函数实现,查看一个路径下所有的文件【所有】。 import os def find_file(path): result = os.walk(path) i=0 #result数组中每一个元素是一个元组 for root, dirs, files in result: i=i+1 #temp="第%s层目录"%(i,) #print(temp) #print("当前目录路径:",root) #print("当前路径下的文件夹:",dirs) #得到的只是文件名 需要路径拼接 for file in files: print("当前目录下的文件:",os.path.join(root,files) print("=="*20) find_file("/Users/gaogao/Python_code/day01")
-
os.mkdir(path):创建目录
-
os.makedirs(path):创建多层目录
import os file_path = r"user.txt" with open(file_path, mode='w', encoding="utf-8")as f: f.write("fhfhf") #不报错 写入成功 #只是文件的话会 若不存在会自己创建 #—————————————————————————————————————————————————————————————————————————— file_path = r"db/user.txt" with open(file_path, mode='w', encoding="utf-8")as f: f.write("fhfhf") #FileNotFoundError: [Errno 2] No such file or directory: 'db/user.txt' # 报错因为没有db这个文件夹目录 但是如果只是写入到不存在的user.txt文件中, # 会在当前工作目录中重新创建user.txt再写入 #—————————————————————————————————————————————————————————————————————————————— #os.mkdir:创建一层文件夹===>多层文件目录时候os.makedirs("文件夹路径") file_path = r"db/user.txt" file_folder=os.path.dirname(file_path)#获取父级目录 if not os.path.exists(file_folder):#如果父级目录不存在 os.mkdir(file_folder) with open(file_path, mode='w', encoding="utf-8")as f: f.write("fhfhf") #db文件夹创建成功 user.txt写入成功 #———————————————————————————————————————————————————————————————————————————— #多层文件夹目录时候 file_path = r"db/test/user.txt" file_folder=os.path.dirname(file_path)#获取父级目录 print(file_folder)#db/test if not os.path.exists(file_folder):#如果父级目录不存在 os.makedirs(file_folder) with open(file_path, mode='w', encoding="utf-8")as f: f.write("fhfhf") #db文件夹创建成功 user.txt写入成功
-
Os.rename(“old”,“newname”)
- 若文件或者目录不存在就会报错
- newname也是一个路径,相当于剪切到那个路径下
import os srcDir = './testDir/ttDir' dstDir = './testDir/hhDir' os.rename(srcDir,dstDir)