os模块
文件夹的查询和判断:查询路径,判断大小,是否文件、文件夹,获取文件大小
import os print(os.path.join('D:','move','a.mp4')) #拼路径D:move\a.mp4 print(os.path.exists('passwords.txt')) #判断文件或文件夹是否存在,返回True或flase print(os.path.dirname('/NiuTest/MLingTest')) # 获取父目录,入参文件 文件要用/,win用/ mac用\ print(os.path.abspath('passwords.txt')) #根据相对路径,获取绝对路径 D:\NiuTest\MLingTest\day5\passwords.txt print(os.path.abspath('../day4/test.py')) #根据相对路径,获取绝对路径 D:\NiuTest\MLingTest\day4\test.py # 相对路径:根据当前文件去上层找其他文件,上级文件要用.. # 再当前文件中,通过相对目录找day4下的test.py,../day4/test.py print(os.path.split('/day4/test.py')) #('/day4', 'test.py') 将路径分隔成一个元组 print(os.path.getsize(r'../day4/test.py')) #13 #获取当前文件的大小 print(os.path.isfile('../day4/test.py')) #判断是不是文件 print(os.path.isdir('../day4')) #判断是不是文件夹 True #运行结果 D:move\a.mp4 True /NiuTest D:\NiuTest\MLingTest\day5\passwords.txt D:\NiuTest\MLingTest\day4\test.py ('/day4', 'test.py') 13 True True
文件/文件夹的创建和删除
import os #mkdir和makedirs的区别 print(os.mkdir('test.py')) #创建文件夹 再当前目前下创建一层目录 print(os.mkdir('../day4/tests')) #这样创建是ok的,父目录是存在的 print(os.mkdir('../day4/tests/test.py')) #不能一连创建两层,如果父目录tests不存在的时候,创建不了 os.makedirs('/tests/test.py') #可以一连创建多层不存在的文件夹下的文件 #rmdir和remove的区别 os.rmdir('test') #仅能删除空文件夹 os.remove('python/射手座') #只能删除文件,不能删除文件夹,删传文件夹的时候会报错,删之后不能恢复 os.rename('test.py','MLing.py') #修改文件名称
目录的获取,进入、查询
print(os.listdir('.')) #获取当前文件下所有的文件和文件夹 #['MLing.py', 'os模块.py', 'passwords.txt', 'sys模块.py', 'test', '上周作业一.py', '上周作业二.py', '上周回顾.py', '商品管理.py', '大乐透.txt'] print(os.listdir('..')) #获取上层文件下的所有的文件和文件夹 #['day1', 'day2', 'day3文件+函数', 'day4', 'day5'] os.chdir('../day4') #进入到某个文件夹,写相对和决断路径都可以,没有返回值 open('chdir.txt','w') #在进入的文件夹中打开一个文件,不存在的时候 创建
walk的使用
获取某个目录下的内容
1、当前入参的目录
2、当前目录下有哪些文件夹
3、当前目录下有哪些文件
4、循环下面的所有的子目录
import os for cur_dir,dirs,files in os.walk('D:/NiuTest/MLingTest'): print('当前目录是%s'%cur_dir) print('当前目录下的文件夹是%s'%dirs) print('当前文件夹下的所有文件%s'%files) print('='*10) 执行结果: 当前目录是D:/NiuTest/MLingTest 当前目录下的文件夹是['day1', 'day2', 'day3文件+函数', 'day4', 'day5'] 当前文件夹下的所有文件[] ========== 当前目录是D:/NiuTest/MLingTest\day1 当前目录下的文件夹是[] 当前文件夹下的所有文件['four.py', 'hello.py', 'one.py', 'three.py', 'two.py', '作业.py', '判断小练习.py', '字典.py'] ========== 当前目录是D:/NiuTest/MLingTest\day2 当前目录下的文件夹是['作业'] 当前文件夹下的所有文件['作业.py', '元组.py', '切片.py', '判断.py', '字符串.py', '布尔类型.py', '文件读写.py', '课前.py', '集合.py'] ========== 当前目录是D:/NiuTest/MLingTest\day2\作业 当前目录下的文件夹是[] 当前文件夹下的所有文件['a.txt', 'student.txt', 'users.txt', '排序作业.py', '用户作业.py'] ========== 当前目录是D:/NiuTest/MLingTest\day3文件+函数 当前目录下的文件夹是[] 当前文件夹下的所有文件['jsion操作.py', 'student.txt', 'student1.txt', 'tihuan.txt', 'u2.txt', '__init__.py', '修改文件.py', '冒泡排序.py', '函数.py', '函数的参数.py', '函数练习.py', '简便写法.py'] ========== 当前目录是D:/NiuTest/MLingTest\day4 当前目录下的文件夹是['tests', '作业'] 当前文件夹下的所有文件['chdir.txt', 'random模块.py', 'test.py', '全局和局部变量.py', '内置函数.py', '模块.py'] ========== 当前目录是D:/NiuTest/MLingTest\day4\tests 当前目录下的文件夹是['test.py'] 当前文件夹下的所有文件[] ========== 当前目录是D:/NiuTest/MLingTest\day4\tests\test.py 当前目录下的文件夹是[] 当前文件夹下的所有文件[] ========== 当前目录是D:/NiuTest/MLingTest\day4\作业 当前目录下的文件夹是[] 当前文件夹下的所有文件['goods.json', 'number.txt', 'password.txt', 'pd.txt', 'test.py', '作业一.py', '作业三.py', '作业二.py'] ========== 当前目录是D:/NiuTest/MLingTest\day5 当前目录下的文件夹是['MLing.py', 'test', 'test.py', '__pycache__'] 当前文件夹下的所有文件['os作业.py', 'os模块.py', 'passwords.txt', 'pymysql操作.py', 'sys模块.py', '上周作业一.py', '上周作业二.py', '上周回顾.py', '商品管理.py', '大乐透.txt', '时间相关的模块.py'] ========== 当前目录是D:/NiuTest/MLingTest\day5\MLing.py 当前目录下的文件夹是[] 当前文件夹下的所有文件[] ========== 当前目录是D:/NiuTest/MLingTest\day5\test 当前目录下的文件夹是[] 当前文件夹下的所有文件[] ========== 当前目录是D:/NiuTest/MLingTest\day5\test.py 当前目录下的文件夹是[] 当前文件夹下的所有文件[] ========== 当前目录是D:/NiuTest/MLingTest\day5\__pycache__ 当前目录下的文件夹是[] 当前文件夹下的所有文件[] ==========