当前位置: 首页 > news >正文

Python--常见库与函数

二、Python常见库与函数

2.1 OS库

  • 常用功能:文件/目录操作、路径管理、环境变量。

    import os
    # 路径操作
    abs_path = os.path.abspath("data.txt")
    exists = os.path.exists(abs_path)
    # 目录操作
    os.mkdir("logs")  # 创建目录(需处理FileExistsError)
    files = os.listdir(".")  # 列出当前目录内容
    

2.2 Hashlib库

  • 哈希算法:MD5、SHA1、SHA256等。

    import hashlib
    # 计算字符串哈希
    md5 = hashlib.md5("password".encode()).hexdigest()
    # 计算文件哈希
    def file_hash(path, algorithm="md5"):
        hasher = getattr(hashlib, algorithm)()
        with open(path, "rb") as f:
            while chunk := f.read(8192):
                hasher.update(chunk)
        return hasher.hexdigest()
    

2.3 pymysql数据库操作

  • CRUD示例:

    import pymysql
    # 连接数据库
    db = pymysql.connect(host='localhost', user='root', password='123456', database='test')
    cursor = db.cursor()
    # 插入数据(防SQL注入)
    sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
    cursor.execute(sql, ("Alice", 25))
    db.commit()
    # 查询数据
    cursor.execute("SELECT * FROM users WHERE age > 20")
    results = cursor.fetchall()
    

2.4 Sys模块

  • 系统交互:

    import sys
    # 命令行参数
    script_name = sys.argv[0]
    args = sys.argv[1:]
    # 退出程序
    if error_occurred:
        sys.exit("Error: Invalid input")
    

2.5 Commands模块(Python 3已弃用,推荐使用subprocess)

  • 执行Shell命令:

    import subprocess
    output = subprocess.check_output("ls -l", shell=True, text=True)
    print(output)
    

2.6 Psutil库

  • 系统监控:

    import psutil
    # CPU使用率
    print(psutil.cpu_percent(interval=1))
    # 内存信息
    mem = psutil.virtual_memory()
    print(f"内存使用率: {mem.percent}%")
    # 进程管理
    for proc in psutil.process_iter(['pid', 'name']):
        print(proc.info)
    

2.7 Time模块

  • 时间处理:

    import time
    # 时间戳与格式化
    timestamp = time.time()
    formatted = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
    # 延时
    time.sleep(2)
    

2.8 Range函数

  • 生成序列:

    # 基础用法
    list(range(5))          # [0, 1, 2, 3, 4]
    list(range(2, 10, 2))   # [2, 4, 6, 8]
    # 反向序列
    list(range(5, 0, -1))   # [5, 4, 3, 2, 1]
    

相关文章:

  • Java使用Redis
  • Go语言中的panic
  • 数字内容体验案例解析与转化率提升策略
  • 问卷数据分析|SPSS实操之二元logistics分析
  • Matlab 多项式曲线拟合(三维)
  • 蓝桥杯 Java B 组之日期与时间计算(闰年、星期计算)
  • PHP场地预定小程序
  • LLM论文笔记 6: Training Compute-Optimal Large Language Models
  • nvm下载安装教程(node.js 下载安装教程)
  • 【自学笔记】人工智能基础知识点总览-持续更新
  • 云轴科技ZStack+神州鲲泰,全面支持企业私有化部署DeepSeek模型
  • IPC通信
  • Redis 数据类型 Zset 有序集合
  • 【第4章:循环神经网络(RNN)与长短时记忆网络(LSTM)——4.1 RNN的基本结构与工作原理】
  • AJAX 与 ASP 的深入探讨
  • 树莓集团与宜宾“双轮驱动“共启新程 数字经济集群落子川南
  • 使用Cline+deepseek实现VsCode自动化编程
  • Java NIO基础与实战:如何提升IO操作性能
  • 「vue3-element-admin」Vue3 + TypeScript 项目整合 Animate.css 动画效果实战指南
  • Renesas RH850 EEL库的优点
  • 李国英:数智化建设推动大坝实现更安全运行、更精准调度
  • 林诗栋/蒯曼不敌日本组合,无缘晋级世乒赛混双四强
  • 关税战导致中国商品冲击周边市场?“对美出口减少并未导致对东盟出口激增”
  • 法国参议院调查委员会公布雀巢“巴黎水”丑闻调查报告
  • 倒计时1天:走进“中国荔乡”茂名,探寻农交文旅商融合发展新模式
  • 复旦建校120周年大型义诊举行,百余名专家服务市民超三千人次