python

本文介绍了Python中的os、ipaddress和psutil这三个模块的使用,包括模块导入、基本操作、功能介绍以及如何学习和使用它们。涉及文件操作、网络地址处理、磁盘I/O监控和系统进程管理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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()












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值