os库基本介绍
- os库提供通用的、基本的操作系统交互功能
- os库是Python标准库,包含几百个函数
- 常用操作路径、进程管理、环境参数等几类
路径操作:os.path子库,处理文件路径及信息
进程管理:启动系统中其他程序
环境参数:获得系统软硬件信息等环境参数
路径操作
- os.path子库,处理文件路径及信息
import os.path 或 import os.path as op
1.os.path.abspath(path)
作用:返回path在当前工作目录中的绝对路径,在其他目录中都无效,且不能判断该目录下是否存在path指定的文件。
>>> os.path.abspath('.')
'C:\\Users\\TKwang\\AppData\\Local\\Programs\\Python\\Python39'
但是如果path = '.\.',可以返回上一级目录
>>> os.path.abspath('..')
'C:\\Users\\TKwang\\AppData\\Local\\Programs\\Python'
2.os.path.normpath(path)
作用:规一化path的表示形式,统一用\\作分隔符
>>> os.path.normpath('C:/Users/TKwang/Desktop/latex.log')
'C:\\Users\\TKwang\\Desktop\\latex.log'
3.os.path.relpath(path)
作用:返回当前程序与文件之间的相对路径(relative path)
>>> os.path.relpath('C:/Users/TKwang/Desktop/latex.log')
'..\\..\\..\\..\\..\\Desktop\\latex.log'
4.os.path.dirname(path)
作用:返回path中的目录名称
>>> os.path.dirname('C:/Users/TKwang/AppData/Local/Programs/Python/Python39/NEWS.txt')
'C:/Users/TKwang/AppData/Local/Programs/Python/Python39'
5.os.path.basename(path)
作用:返回path中最后的文件名称
>>> >>> os.path.basename('C:/Users/TKwang/AppData/Local/Programs/Python/Python39/NEWS.txt')
'NEWS.txt'
6.os.path.join(path,*paths)
作用:组合path和paths,返回一个路径字符串
>>> os.path.join('D:\\LOL','latex.log')
'D:\\LOL\\latex.log'
7.os.path.exists(path)
作用:判断path对应的文件或目录是否存在,返回True或False
>>> os.path.exists('D:\\LOL\\latex.log')
False
此外还有类似作用的函数:
1.os.path.isfile(path) 判断文件(目录返回False)
2.os.path.isdir(path) 判断目录(文件返回False)
8.访问时间相关
1.os.path.getatime(path)
返回path对应文件或目录上一次访问时间,a表示access 访问
2.os.path.getmtime(path)
返回path对应文件或目录最近一次的修改时间,m表示modify 修改
3.os.path.getctime(path)
返回对应文件或目录的创建时间,c表示create 创建
>>> os.path.getctime('C:/Users/TKwang/Desktop/latex.log')
1611364716.8618789
>>> time.ctime(os.path.getctime('C:/Users/TKwang/Desktop/latex.log'))
'Sat Jan 23 09:18:36 2021'
9.os.path.getsize(path)
作用:返回path对应文件的大小,以字节为单位
>>> os.path.getsize('C:/Users/TKwang/Desktop/latex.log')
960
进程管理
- 使用自己编写的Python程序去调用其他的外部程序
- os.system(command)
执行程序或命令command
在Windows系统中,返回值为cmd的调用返回信息 - 例子 :
os.system('c:\\Windows\\System32\\calc.exe')
运行会出现计算器,且调用结束返回结果为0,表示程序正确运行。尝试发现,如果运行失败,则返回1。 - 可以赋予相关参数
例如,os.system('c:\\Windows\\System32\\mspaint.exe C:\\Users\\TKwang\\Pictures\\Saved Pictures\\monv.jpg')
,这里结果是monv.jpg用画图的方式打开了,但是同时也显示了找不到Saved.png。注意整体是一个字符串,用空格间隔表示参数,如果换行可以在上一行尾部加上"\"使得上下行仍是一个字符串。
环境参数
- 环境参数指的是获取或改变操作系统中的环境信息
函数 | 描述 |
---|---|
os.chdir(path) | 修改当前程序操作的路径为path |
os.mkdir(path) | 创建path对应的文件或目录 |
os.getcwd() | 返回程序的当前路径 |
os.getlogin() | 获得当前系统登录的用户名称 |
os.cpu_count() | 获得当前系统的CPU数量 |
os.urandom(n) | 获得n个字节长度的随机字符串,通常用于加解密运算 某些字符串不能打印出来,会被表现为16进制形式 |