python常用模块
模块:
导入os 的模块
import os
指令条件语句:if
函数:print
模块:python 的文件
模块的分类:
内置模块 : 不需要安装直接就能使用的模块 (打包在安装程序中)
三方模块 : 需要安装的模块,别人写好了的
自定义模块: 我们自己写的模块()
如何学习模块?
如何去学习一个模块:
1、了解模块的基本信息
平台支持信息 python2/python3/windows/linux 版本兼容性
https://pypi.org/
pip install 模块名
2.安装
源码安装:不建议
pip install 模块名 默认安装最新版本
3.了解支持哪些方法和属性
利用pycharm的提示功能
dir =>查看对象有哪些属性或方法
help ==>查看对象(函数)的帮助信息
4.实践(案例)
5.遇到问题怎么办
上网,文心一言,老师和同学
“”"
import os
f ==>function ==>函数 ==> 实现某一个功能的代码 ==》函数名()来调用它
print(os.cpu_count())
v ==>value ==>属性(变量,子模块)
print(os.path)
#print(os.path.dirname())
print(dir(os))
help(os.path.dirname)
print(os.path.dirname(“/root/a.txt”)) # 输出结果 /root 返回文件的根目录
help(print)
help(dir)
模块ipaddress
#命名时注意文件名不与模块重名
import ipaddress
#ipaddress 系统标准库(内置模块)
# 查看是干什么的(在help最前面)
#help(ipaddress)
# 查看有什么功能
print(dir(ipaddress))
#查看指定函数的帮助信息
help(ipaddress.ip_address)
#ip 地址是可以转换成一个int类型的数据的
# int类型的数据可以转换成ip地址的 ==》 数据库中存储的时候可能会这样用
#string => 114.114.114.114 ===>len:15
#int ==>len:4
# result=ipaddress.ip_network("192.168.1.1")
# print(result,type(result))
#result2= ipaddress.ip_network("192.168.1.2/24")
#print(result2,type(result2))
#print(result in result2)
# callapse_addresses /v4_int_to_packed ==> 自己查看是什么功能,测试一下
WHITE_HOST = ["192.168.1.0/24","192.168.2.0/24"]
# 用户输入一个ip地址,如果IP地址是在白名单中,就输出”欢迎光临“
# 不在白名单中,输入”非法访问“
"""
1.接收数据
2.判断数据是否合法:string/ing =>正则表达式re模块
3.如果合法,转换成ip_address类型,如果不合法,提示并退出
"""
ip = ipaddress.ip_network(input("请输入一个ip地址"))
for network in WHITE_HOST:
if ip in ipaddress.ip_network(network):
print("欢迎光临")
break
else:
print("非法访问")
模块os
import os
print(dir(os))
print(dir(os.path))
#判断指定的路径是否存在
print("判断路径是否存在:",os.path.exists("C:\\a.txt"))
print("判断路径是否存在:",os.path.exists("C:\\"))
# 如果目录存在,忽略,目录不存在 创建一个目录
if not os.path.exists("./download"):
os.mkdir("./download")
#检查是否为一个文件
print("判断被指定的对象是否为一个文件:",os.path.isfile("./a.txt"))
print("判断被指定的对象是否为一个文件:",os.path.isfile("./练习题.txt"))
# 检查是否为一个目录
print("判断指定的对象是否欸一个目录:",os.path.isdir("./download"))
print("判断指定的对象是否欸一个目录:",os.path.isdir("./练习题.txt"))
# 列出指定路径下的所有文件和目录
print("查看指定目录下所有文件和目录:",os.listdir("./"))
print("查看指定目录下所有文件和目录:",os.listdir("E:\\"))
# 如何分离文件名和后缀名
# 判断当前(指定目录下)各种类型的文件有多少个
dir1 = os.listdir("E:\\")
count_file = 0
count_list = 0
for dir in dir1:
if os.path.isfile(os.path.join("E:\\", dir)):
count_file +=1
if os.path.isdir(os.path.join("E:\\", dir)):
count_list +=1
print(count_file)
print(count_list)
all_files = os.listdir()
print(all_files)
模块psutil
#!/usr/bin/env python
# @FileName :模块-psutil.py
# @Time :2024/3/3 14:59
import time
import psutil
# print(dir(psutil))
# #help(psutil.cpu_count)
#
# print("逻辑cpu的个数是:",psutil.cpu_count())
# print("物理cpu的个数是:",psutil.cpu_count(logical=False))
#
#print(dir(psutil))
#
# #interval ==> 等n 秒之后输出结果
# #percpu ==>是否为每个cpu输出百分比
# help(psutil.cpu_percent())
# print(psutil.cpu_percent(percpu=True))
# print(psutil.cpu_percent(interval=5,percpu=True))
# 输出
# 1磁盘分区信息及其使用率
# 分区名 文件系统格式 参数
print("磁盘分区信息:",psutil.disk_partitions())
for item in psutil.disk_partitions():
print(item.device,'\t',item.fstype,'\t',item.opts)
disk_c = psutil.disk_usage(path="C:\\")
print("c盘使用率情况:",disk_c.total,disk_c.used,disk_c.free,disk_c.percent)
# 2.磁盘IO信息
print("磁盘IO信息",psutil.disk_io_counters())
# 3.输出所有系统进程信息
# print("所有的pid信息",psutil.pids())
# for pid in psutil.pids():
# print(psutil.Process(pid).name())
# 4.输出当前登录的用户信息
print(psutil.users())
#help(psutil.cpu_percent())
#help(psutil.cpu_count())
def print_disk_partitions_and_usage():
disk_partitions = psutil.disk_partitions()
for partition in disk_partitions:
usage = psutil.disk_usage(partition.mountpoint)
print(f"分区: {partition.device}")
print(f"挂载点: {partition.mountpoint}")
print(f"总空间: {usage.total / (1024 ** 3)} GB")
print(f"已使用: {usage.used / (1024 ** 3)} GB")
print(f"可用空间: {usage.free / (1024 ** 3)} GB")
print(f"使用率: {usage.percent}%")
print("---")
def print_disk_io_info():
io_counters_start = psutil.disk_io_counters()
time.sleep(1) # 等待1秒
io_counters_end = psutil.disk_io_counters()
read_per_second = (io_counters_end.read_bytes - io_counters_start.read_bytes) / 1024 ** 3
write_per_second = (io_counters_end.write_bytes - io_counters_start.write_bytes) / 1024 ** 3
print(f"每秒读取速度: {read_per_second:.2f} GB/s")
print(f"每秒写入速度: {write_per_second:.2f} GB/s")
#print_disk_io_info()
print("=======")
#print_disk_partitions_and_usage()
练习
# 3.输出所有系统进程信息
# print("所有的pid信息",psutil.pids())
# for pid in psutil.pids():
# print(psutil.Process(pid).name())
# 4.输出当前登录的用户信息
print(psutil.users())
#help(psutil.cpu_percent())
#help(psutil.cpu_count())
def print_disk_partitions_and_usage():
disk_partitions = psutil.disk_partitions()
for partition in disk_partitions:
usage = psutil.disk_usage(partition.mountpoint)
print(f"分区: {partition.device}")
print(f"挂载点: {partition.mountpoint}")
print(f"总空间: {usage.total / (1024 ** 3)} GB")
print(f"已使用: {usage.used / (1024 ** 3)} GB")
print(f"可用空间: {usage.free / (1024 ** 3)} GB")
print(f"使用率: {usage.percent}%")
print("---")
def print_disk_io_info():
io_counters_start = psutil.disk_io_counters()
time.sleep(1) # 等待1秒
io_counters_end = psutil.disk_io_counters()
read_per_second = (io_counters_end.read_bytes - io_counters_start.read_bytes) / 1024 ** 3
write_per_second = (io_counters_end.write_bytes - io_counters_start.write_bytes) / 1024 ** 3
print(f"每秒读取速度: {read_per_second:.2f} GB/s")
print(f"每秒写入速度: {write_per_second:.2f} GB/s")
#print_disk_io_info()
print("=======")
#print_disk_partitions_and_usage()