1.os模块
os模块是面向操作系统的模块,在python中是python解释器于操作系统交互的媒介,
1.os中与文件路径操作相关的指令
#与文件路径相关的操作 os.getcwd() print(os.getcwd()) #C:UsersAdministratorPycharmProjectsuntitled2day28 #当前文件的路径 os.chdir() #改变当前文件的路径 print(os.getcwd()) #只是改变了操作路径,没有改变文件的路径 os.curdir #返回一个点 print(os.curdir) #有替代执行方法,作用不大 os.pardir #返回两个点 print(os.pardir) #有替代执行方法,作用不大
2.于文件相关夹的操作
os.makedirs() #创建多级目录 print(os.makedirs(r'MOBA/map/tree/green')) os.mkdir() #创建单级目录 os.mkdir(r'MOBA2/figure') os.removedirs()#删除多级目录,需求目录中为空,则会删除,删到最后一个不为空的文件夹停止 os.removedirs('MOBA/map/tree/green') os.rmdir() #删除单级目录,只能删除空的文件夹 os.rmdir(r'MOBA2') os.listdir() #将文件路径中的所有文件名放到一个列表中 ret = os.listdir(os.pardir) print(ret)
3.于文件相关的操作
os.rename() #更改文件名 os.remove() #删除文件 os.stat() #获取文件信息 ret = os.getcwd()+ 'os模块.py' k = os.stat(ret) print(k) print(k.st_size)
4.操作系统的差异
os.sep #路径分隔符 print('dsa%ssdeom%sCweEf' % (os.sep,os.sep)) os.linesep #行终止符 print('dsa%ssdeosCweEf' % os.linesep) #换行 os.pathsep #分割文件路径的字符串 就是一个分号 print('dsa %s sdeosCweEf' % os.pathsep) os.name #显示当前平台 nt是windows平台 、、print(os.name)
5.和执行系统命令相关
os.system() #dir 编码不能改变 直接执行 print(os.system('dir')) #返回的是idle默认的编码,pycharm中的默认编码是utf-8,所以会出现乱码 os.popen() #类似eval 可赋值 返回值结果 import os ret = os.popen('dir') print(ret.read()) for i in ret: if '字节' in i: k = i.split() print(k)
6.环境 变量相关
os.environ #显示环境变量中的所有数值 print(os.environ)
7.重点path
os.path.abspath() #返回一个绝对路径 print(os.path.abspath('os模块.py')) #输入文件名,返回绝对路径、 os.path.dirname() #贼有用! 显示path路径, print(os.path.dirname(os.path.abspath('os模块.py'))) os.path.exists() #判断路径是否存在 print(os.path.exists('os模块.py')) os.path.isabs() #是否绝对路径 print(os.path.isabs(os.path.abspath('os模块.py'))) os.path.split() #分割出当前文件名和路 print(os.path.split(os.path.abspath('os模块.py'))) os.path.basename() #返回当前目录名,如果path以/或结尾,那么就会返回空值。 print(os.path.basename('os模块.py\')) print(os.path.basename('os模块.py')) os.path.dirname() 返回目录之前的路径 print(os.path.dirname(os.path.abspath('os模块.py'))) os.path.isfile() #查看一个路径是否是文件 print(os.path.isfile('233')) #判断是否为文件 os.path.isdir() #判断是否为文件夹 print(os.path.isdir('模块和包的本质')) os.path.join() #拼接 print(os.path.join(os.path.abspath('os模块.py'),'2333')) os.path.getatime() #文件或目录的最后访问时间 print(os.path.getmtime('os模块.py')) #返回的是时间戳 os.path.getmtime() #文件或目录的最后修改时间 print(os.path.getatime('os模块.py')) #返回的是时间戳 os.path.getsize() #文件夹会出现不准的情况,只会出现4096 print(os.path.getsize('os模块.py'))
作业:查询文件夹及内部数据的大小?