「os」库在Python中使用的特别频繁,本文主要介绍一些在平常开发中常使用的API。使用之前,记得先import
一下哦。
import os
「创建文件夹」
os.mkdir('/test/a') os.makedirs('/test/a')
区别:
os.mkdir
在创建文件时,只有当上一级目录存在时,才能创建下一级文件夹。比如说,当你想创建一个test
文件夹,并且要在test
文件夹里面创建一个a
文件夹时,你需要先创建test
文件夹,然后才能创建test/a
文件夹。
os.mkdir('test') os.mkdir('test/a')
os.makedirs
在创建文件时,不管上一级文件夹存不存在,都可以创建下一级文件夹。
os.makedirs('test/a')
「列出文件夹下的文件和子文件夹」
os.listdir('test') # 列出test文件夹下所有的文件和子文件夹
「查看/修改系统的环境变量」
os.environ # 查看所有环境变量 os.environ['A'] = '1' # 设置环境变量A为1(程序结束后,设置的值自动失效) os.environ['A'] # 查看环境变量A的值
「获取当前运行路径」
# /test/a.py os.getcwd() # /test
「获取cpu核心数」
os.cpu_count() # 在编写多进程程序时,可能会用到
「执行cmd/shell命令」
os.system('ls') # Linux os.system('dir') # Windows
「路径」
os库中os.path
是在日常开发中使用最频繁的功能,有些人会为了使用它直接这样引入它
from os import path as op
在这里我们使用下面的写法
import os
在开始路径之前,我们先来确定一些基本概念
path = './test/a.py'
比如上面这个路径,/
是分隔符,./test
是目录,a.py
是文件,a
是文件全名,.py
是扩展名部分,最后假设该文件的绝对路径是d:/test/a.py
。这样我们将一个路径拆解为以上几部分,下面,我们将对这几部分进行操作。
「获取当前操作系统的分隔符」
os.path.sep
「获取目录」
path = './test/a.py' os.path.dirname(path) # ./test
「获取文件全名」
path = './test/a.py' os.path.basename(path) # a.py
「获取文件的绝对路径」
path = './test/a.py' os.path.abspath(path) # d:/test/a.py
「检查文件或者文件夹是否存在」
path1 = './test/a.py' path2 = './test' os.path.exists(path1) os.path.exists(path2)
「拼接路径」
root = 'test' # bad path = root + '/' + 'test.py' # good path = os.path.join(root,'test.py') # test/test.py path = os.path.join(root,'test1','test2','a.py') # test/test1/test2/a.py
「切割文件全名」
filename = 'a.py' os.path.splitext(filename) # ('a', '.py')
「获取文件大小」
path = './test/a.py' # 文件必须存在,否则报文件未找到的错误 size = os.path.getsize(path) # 单位是b size / 1024 # kb
「获取时间属性」
path = './test/a.py' # 文件必须存在,否则报文件未找到的错误 os.path.getmtime(path) # 获取最后一次修改时间 os.path.getatime(path) # 获取最后一次访问时间
「判断一个路径的种类」
path = './test/a.py' # 文件必须存在,否则报文件未找到的错误 os.path.isfile(path) # 是否为文件 os.path.islink(path) # 是否为链接(快捷方式) os.path.isdir(path) # 是否为文件夹 os.path.isabs(path) # 是否是绝对路径