psutil(简介)
获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。
psutil(了解)
psutil是一个跨平台库(http://pythonhosted.org/psutil/)
它主要用来做系统监控,性能分析,进程管理。
它实现了同等命令行工具提供的功能。
psutil(参考代码)
程序运行的内存占比
import subprocess, psutil, gc
mem1 = psutil.virtual_memory()
print(f'某程序前-内存已使用:{mem1.used}')
print(f'某程序前-内存剩余:{mem1.free}')
print(f'某程序前-内存百分比:{mem1.percent}')
app1 = subprocess.Popen(r'C:\Windows\write.exe')
app2 = subprocess.Popen(r'C:\Windows\winhlp32.exe')
app3 = subprocess.Popen(r'C:\Windows\write.exe')
mem2 = psutil.virtual_memory()
print(f'某程序后-内存已使用:{mem2.used}')
print(f'某程序后-内存剩余:{mem2.free}')
print(f'某程序后-内存百分比:{mem2.percent}')
app1.kill()
app2.kill()
app3.kill()
gc.collect()#启用垃圾回收模式
mem3 = psutil.virtual_memory()
print(f'GC回收后-内存已使用:{mem3.used}')
print(f'GC回收后-内存剩余:{mem3.free}')
print(f'GC回收后-内存百分比:{mem3.percent}')
sys(简介)
Python解释器交互的一个接口,主要围绕着Python程序的一些辅助工具。如:控制Python程序的运行,更改Python环境...
sys(参数列表)
sys.exit() | 退出程序 默认为0,表示正常退出,也可以为1,表示异常退出。 【例子】sys.exit(0) 或 sys.exit(1) |
sys.path.append(path) | 调用Python文件 【例子】 # 添加路径( AG.py放置在电脑桌面) import sys sys.path.append('C:/Users/Administrator/Desktop') # 调用文件 # import AG |
sys.argv | 实现从程序外部向程序传递参数 |
sys.path | 包含输入模块的目录名列表 |
sys.version | 获取Python解释器版本 |
sys.exc_info() | 返回异常信息三元元组 |
sys.getdefaultencoding() | 获取系统当前编码,默认为utf-8 |
sys.setdefaultencoding() | 设置系统的默认编码 |
sys.getfilesystemencoding() | 获取文件系统使用编码方式,默认是utf-8 |
sys.modules | 以字典的形式返回所有当前Python环境中已经导入的模块 |
sys.copyright | 当前Python的版权信息 |
sys.getrefcount(object) | 返回对象的引用数量 |
sys.getrecursionlimit() | 返回Python最大递归深度,默认1000 |
sys.getsizeof(object[, default]) | 返回对象的大小 |
sys.getwindowsversion() | 返回当前windwos系统的版本信息 |
sys.executable | python.exe的绝对路径 |
sys.prefix | 当前python的安装路径 |
sys.exec_prefix | 基础python环境的安装路径 |
sys.base_exec_prefix | 基础python环境的安装路径 |
sys.builtin_module_names | python解释器中的所有模块 |
sys.stdlib_module_names | 包含标准库模组名称字符串的冻结集合 |
sys.hexversion | 整数版本号 |
sys.is_finalizing() | #如果Python解释器正在退出则为True |
argparse(简介)
自定义python命令。
argparse(了解)
【自建命令工具】
终端 :python 文件 命令 命令功能
【例子】
终端 :python demo.py --help
# help命令(查看文档介绍)
argparse(参考代码)
简单例子
import argparse
parser = argparse.ArgumentParser(description="【文档描述】")
parser.add_argument("-f", "--function", help="【-f或--function命令 关于函数功能的使用方法】")
parser.add_argument("-i", "--info", help="【-i或--info命令 关于文档的注释】")
args = parser.parse_args()
if args.function == "function":
print(">>>输入了function命令")
elif args.info == "info":
print(">>>输入了info命令")
else:
pass
distutils(简介)
自定义Python模块。
distutils(了解)
【使用方法】
打包Python'模块,然后发布,安装使用。
【模块的安装】
源码包:python setup.py install
在线安装:pip install 包名(linux) / easy_install 包名(window)
distutils(参考代码)
自定义模块(简化版)
from distutils.core import setup
setup(
name='test_md', # 安装的模块名
version='1.0', # 版本
author='AG', # 作者
author_email='@xxx.com', # 邮箱
py_modules=['test'], # 使用的模块名
)
# @使用方法 /
# 1.新建test.py文件 -> 内容(随便写个函数)
# 2.新建setup.py文件 -> 内容(上面代码加入)
# 3.两个文件同处一个目录下->当前目录->终端:python setup.py sdist
# 4.(安装模块) 终端:python setup.py install
# 5.(测试):import test #test.test()
# --------------------------------- /
自定义模块(详细版)
# -*- encoding: UTF-8 -*-
from setuptools import setup
setup(
name='testFunc', # 安装包名 注释:尽量与packages属性的项目文件夹名相同
version='0.1', # 版本信息
author='AG', # 作者
author_email='xxx@gmail.com', # 作者邮箱地址
description='关于程序的描述', # 程序的简单描述
long_description='关于程序的详细描述', # 程序的详细描述
keywords='关于程序的关键词', # 程序的关键字列表
packages=['testFunc'], # 要打包的项目文件夹
include_package_data=True, # 自动打包文件夹内所有数据
zip_safe=True, # 设定项目包为安全,不用每次都检测其安全性
install_requires=[ # 需要安装的依赖包
'docutils>=0.3',
'requests',
],
)
# @流程 /
# 1.新建setup.py文件 -> 内容(上面代码加入)
# 2.新建文件夹 -> func.py , init.py
# 3.setup.py 所在目录 ->
# 终端:python setup.py sdist 进行打包
# :python setup.py build 构建目录
# :python setup.py install 安装包
# ---------------------------------------/