一、os库基本介绍
os库提供通用的、基本的操作系统交互功能
- os库是Python标准库,包含几百个函数
- 常用路径操作、进程管理、环境参数等几类
- 路径操作:os.path子库,处理文件路径及信息
- 进程管理:启动系统中其他程序
- 环境参数:获得系统软硬件信息等环境参数
二、os库之路径操作
os.path
子库以path
为入口,用于操作和处理文件路径
import os.path
或
import os.path as op
函数 | 描述 |
os.path.abspath(path) | 返回path在当前系统中的绝对路径 |
os.path.normpath(path) | 归一化path的表示形式,统一用\\分隔路径
|
os.path.relpath(path) | 返回当前程序与文件之间的相对路径(relative path)
|
os.path.dirname(path) | 返回path中的目录名称
|
os.path.join(path,*paths) | 组合path与paths,返回一个路径字符串。
|
os.path.exists(path) | 判断path对应文件或目录是否存在,返回True或False。
|
os.path.isfile(path) | 判断path所对应是否为已存在的文件,返回True或False。
|
os.path.isdir(path) | 判断path所对应是否为已存在的目录,返回True或False。
|
os.path.getatime(path) | 返回path对应文件或目录上一次的访问时间。
|
os.path.getmtime(path) | 返回path对应文件或目录最近一次的修改时间。
|
os.path.getctime(path) | 返回path对应文件或目录的创建时间。
|
os.path.getsize(path) | 返回path对应文件的大小,以字节为单位。
|
三、os库之进程管理
os.system(command)
- 执行程序或命令command
- 在Windows系统中,返回值为cmd的调用返回信息。
import os
os.system("C:\\Windows\\System32\\calc.exe")
>>>
0
import os
os.system("C:\\Windows\\System32\\mspaint.exe D:\\PYECourse\\grwordcloud.png")
>>>
0
四、os库之环境参数
函数 | 描述 |
os.chdir(path) | 修改当前程序操作的路径
|
os.getcwd() | 返回程序的当前路径
|
os.getlogin() | 获得当前系统的cpu数量。
|
os.urandom(n) | 获得n个字节长度的随机字符串,通常用于加解密运算。
|
五、实例14: 第三方库自动安装脚本
- 需求:批量安装第三方库需要人工干预,能否自动安装?
- 自动执行pip逐一根据安装需求安装
库名 | 用途 | pip安装指令 |
NumPy | N维数据表示和运算 | pip install numpy |
Matplotlib | 二维数据可视化 | pip install matplotlib |
PIL | 图像处理 | pip install pillow |
Scikit-Learn | 机器学习和数据挖掘 | pip install sklearn |
Requests | HTTP协议访问及网络爬虫 | pip install requests |
Jieba | 中文分词 | pip install jieba |
Beautiful Soup | HTML和XML解析器 | pip install beautifulsoup4 |
Wheel | Python第三方库文件打包工具 | pip install wheel |
PyInstaller | 打包Python源文件为可执行文件 | pip install pyinstaller |
Django | Python最流行的Web开发框架 | pip install django |
Flask | 轻量级Web开发框架 | pip install flask |
WeRoBot | 微信机器人开发框架 | pip install werobot |
SymPy | 数学符号计算工具 pip | install sympy |
Pandas | 高效数据分析和计算 | pip install pandas |
Networkx | 复杂网络和图结构的建模和分析 | pip install networkx |
PyQt5 | 基于Qt的专业级GUI开发框架 | pip install pyqt5 |
PyOpenGL | 多平台OpenGL开发接口 | pip install pyopengl |
PyPDF2 | PDF文件内容提取及处理 | pip install pypdf2 |
docopt | Python命令行解析 | pip install docopt |
PyGame | 简单小游戏开发框架 | pip install pygame |
#BatchInstall.py
import os
libs = {"numpy","matplotlib","pillow","sklearn","requests","jieba","beautifulsoup4","wheel","networkx","sympy","pyinstaller","django","flask","werobot","pyqt5","pandas","pyopengl","pypdf2","docopt","pygame"}
try:
for lib in libs:
os.system("pip install " + lib)
print("Successful")
except:
print("Failed Somehow")
举一反三
- 编写各类自动化运行程序的脚本,调用已有程序
- 扩展应用:安装更多第三方库,增加配置文件
- 扩展异常检测:捕获更多异常类型,程序更稳定友好