【10】python模块:os(操作文件/目录)
import os os.rename(old,new) #重命名文件或目录 os.remove(f)#删除文件 os.mkdir('china/beijing') #创建文件夹 os.makedirs('china/beijing') #父目录不存在的时候会帮你创建 os.removedirs('china')#只能删除空文件夹 os.system('pwd')#执行操作系统命令 ls print(os.open('pwd').read())#用来执行操作系统命令,并且可以拿到返回值 print(os.listdir())#显示该目录下面的所有文件和文件夹 print(os.path.isdir('china1'))#判断是否是文件夹 print(os.path.isfile('china'))#判断是否是文件 print(os.path.exists('china'))#判断文件或者文件夹是否存在 print(os.path.join('china','beijing','haidian','changping','a.py'))#拼路径 print(os.path.split(r'china\beijing\haidian\changping\a.py'))#用来分割文件名和路径 print(os.path.dirname(r'china\beijing\haidian\changping\a.py'))#取父目录 print(os.path.getsize('笔记.txt'))#显示大小,单位是字节 print(os.getcwd())#取当前的目录 print(os.chdir(r'C:\Users\nhy\PycharmProjects\jnz\day5'))#进入到哪个目录下
os.walk(path)返回三个值:parent,dirnames,filenames,分别表示path的路径、path路径下的文件夹的名字和path路径下文件夹以外的其他文件;
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
小练习1:统计/work文件夹下面有多个文件
res = os.walk(r'/work') for cur_path,dirs,files in res: print('当前目录',cur_path) print('当前目录下面的所有文件夹',dirs) print('当前目录下面的所有文件',files) print('======================')
小练习2:统计指定地址下面有多个python文件
import os res = os.walk(r'/Users/fan.yang3/PycharmProjects/mytest') count = 0 for cur_path,dirs,files in res: for f in files: if f.endswith('.py'): count+=1 print(count)