python中内置了一个操作系统相关的模块os模块和platform模块

简介: python中内置了一个操作系统相关的模块>os模块

OS模块

1、python中内置了一个操作系统相关的模块

os模块

这个模块提供了多数操作系统的功能接口函数。在不同系统执行时,os模块会自适应于不同的操作系统平台,调用不同的接口;

2、导入os模块:

import os

3、常用命令:

获取系统名称 os.name
获取当前工作目录 ;os.getCwd()
执行命令: os.system('命令行')

文件和文件夹相关:
os.remove(path) 删除指定的文件
os.rename(src,dest) 重命名文件或目录
os.stat(path) 返回文件的所有属性
os.listdir(path) 返回path目录下的文件和目录列表
os.mkdir(path) 创建目录
os.makedirs(path1/path2/path3/.....) 创建多级目录
os.rmdir(path) 删除目录
os.removedirs(path1/path2/path3/...) 删除多级目录

路径相关函数:
os.path.isabs(path) 判断path是否是绝对路径
os.path.isdir(path) 判断path是否为目录
os.path.isfile(path) 判断path是否为文件
os.path.exists(path) 判断指定路径的文件是否存在
os.path.getsize(filename) 返回文件大小
os.path.abspath(path) 返回绝对路径

platform模块

platform模块也是系统内置模块,给我们提供了很多方法去获取操作系统的信息

参考以下注释信息:

import platform
platform.platform() #获取操作系统名称及版本号,
platform.version() #获取操作系统版本号,
platform.architecture() #获取操作系统的位数
platform.machine() #计算机类型,
platform.node() #计算机的网络名称,
platform.processor() #计算机处理器信息,
platform.uname() #包含上面所有的信息汇总

扩展第三方库psutil

psutil是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。
官网地址: http://pythonhosted.org/psutil/
安装方式: pip install psutil

示例代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import psutil
import time

'''监控服务进程并重启'''

monitor_name = set(['httpd','keepalived']) # 用户指定监控的服务进程名称

monitor_map = {
'httpd': 'systemctl restart httpd',
'keepalived': 'systemctl restart keepalived' # 系统在进程down掉后,自动重启
}


proc_dict = {}
proc_name = set() # 系统检测的进程名称


while True:
    for proc in psutil.process_iter(attrs=['pid','name']):
        proc_dict[proc.info['pid']] = proc.info['name']
        proc_name.add(proc.info['name'])
    # 通过集合的形式来找出停掉的进程名,前者有但是后者没有的
    proc_stop = monitor_name - proc_name  
    # 如果确实有监控的进程停掉了,需要自动重启功能
    if proc_stop:  
        for p in proc_stop:
            p_name = p
            # 执行重启命令,然后判断是否重启成功
            os.system(monitor_map[p_name])
相关文章
|
15天前
|
存储 人工智能 运维
|
5天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
17 5
|
12天前
|
Linux 开发者 iOS开发
深度剖析:Python如何优雅地跨越操作系统鸿沟,实现无缝对接
Python 作为一种高级编程语言,具有出色的跨平台特性,能够在 Windows、macOS 和 Linux 等多种操作系统上无缝运行。本文通过具体示例,介绍了 Python 如何利用其内置模块(如 `os` 和 `platform`)及第三方库(如 `pathlib` 和 Tkinter)实现代码的一致性和可移植性,帮助开发者轻松开发和部署应用。
25 3
|
13天前
|
Linux 开发者 iOS开发
Python系统调用实战:如何在不同操作系统间游刃有余🐟
本文介绍了 Python 在跨平台开发中的强大能力,通过实际例子展示了如何使用 `os` 和 `pathlib` 模块处理文件系统操作,`subprocess` 模块执行外部命令,以及 `tkinter` 创建跨平台的图形用户界面。这些工具和模块帮助开发者轻松应对不同操作系统间的差异,专注于业务逻辑。
29 2
|
14天前
|
存储 人工智能 自然语言处理
OS Copilot"作为一款操作系统辅助软件应运而生,旨在提升用户使用电脑的效率
随着AI技术的发展,"OS Copilot"作为一款操作系统辅助软件应运而生,旨在提升用户使用电脑的效率。它具备智能命令建议、代码片段生成、文件管理助手及任务自动化等功能,适合日常办公与专业开发。安装简便,上手容易,能显著提高工作效率。
25 3
|
15天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
18天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
62 5
|
22天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
17 6
|
19天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
17 1
|
20天前
|
XML 前端开发 数据格式
超级详细的python中bs4模块详解
Beautiful Soup 是一个用于从网页中抓取数据的 Python 库,提供了简单易用的函数来处理导航、搜索和修改分析树。支持多种解析器,如 Python 标准库中的 HTML 解析器和更强大的 lxml 解析器。通过简单的代码即可实现复杂的数据抓取任务。本文介绍了 Beautiful Soup 的安装、基本使用、对象类型、文档树遍历和搜索方法,以及 CSS 选择器的使用。
51 1