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

Python模块和包:标准库模块(os, sys, datetime, math等)②

在这里插入图片描述

文章目录

    • 一、os 模块
      • 1.1 获取当前工作目录
      • 1.2 列出目录内容
      • 1.3 创建和删除目录
      • 1.4 文件和目录操作
    • 二、sys 模块
      • 2.1 获取命令行参数
      • 2.2 退出程序
      • 2.3 获取 Python 版本信息
    • 三、datetime 模块
      • 3.1 获取当前日期和时间
      • 3.2 日期和时间的格式化
      • 3.3 日期和时间的运算
    • 四、math 模块
      • 4.1 常用数学函数
      • 4.2 三角函数
    • 五、综合详细例子
      • 5.1 代码解释
      • 5.2 运行结果

Python 以其丰富且功能强大的标准库著称。标准库包含了许多模块,可以帮助开发者更高效地完成各种任务。本文将详细介绍一些常用的标准库模块:os、sys、datetime 和 math,并附上一个综合详细的例子来展示它们的使用。

一、os 模块

os 模块提供了非常多的与操作系统交互的函数,用于操作文件和目录。

1.1 获取当前工作目录

import os

current_directory = os.getcwd()
print(f"当前工作目录是:{current_directory}")

1.2 列出目录内容

import os

directory_contents = os.listdir('.')
print(f"当前目录的内容是:{directory_contents}")

1.3 创建和删除目录

import os

os.mkdir('test_directory')
print("创建了 test_directory 目录")

os.rmdir('test_directory')
print("删除了 test_directory 目录")

1.4 文件和目录操作

import os

# 重命名文件
os.rename('old_name.txt', 'new_name.txt')

# 删除文件
os.remove('new_name.txt')

二、sys 模块

sys 模块提供了访问与 Python 解释器紧密相关的变量和函数。

2.1 获取命令行参数

import sys

print(f"命令行参数是:{sys.argv}")

2.2 退出程序

import sys

sys.exit("程序终止")

2.3 获取 Python 版本信息

import sys

print(f"Python 版本信息:{sys.version}")

三、datetime 模块

datetime 模块为日期和时间操作提供了类和方法。

3.1 获取当前日期和时间

import datetime

current_datetime = datetime.datetime.now()
print(f"当前日期和时间是:{current_datetime}")

3.2 日期和时间的格式化

import datetime

current_datetime = datetime.datetime.now()
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化后的日期和时间是:{formatted_datetime}")

3.3 日期和时间的运算

import datetime

today = datetime.date.today()
tomorrow = today + datetime.timedelta(days=1)
print(f"今天的日期是:{today}")
print(f"明天的日期是:{tomorrow}")

四、math 模块

math 模块提供了许多数学运算函数。

4.1 常用数学函数

import math

print(f"π的值是:{math.pi}")
print(f"2 的平方根是:{math.sqrt(2)}")
print(f"3 的 4 次方是:{math.pow(3, 4)}")

4.2 三角函数

import math

print(f"sin(π/2) = {math.sin(math.pi/2)}")
print(f"cos(π) = {math.cos(math.pi)}")
print(f"tan(π/4) = {math.tan(math.pi/4)}")

五、综合详细例子

以下是一个综合详细的例子,展示了如何使用 ossysdatetimemath 模块来创建一个简单的任务管理系统:

import os
import sys
import datetime
import math

class Task:
    def __init__(self, title, description, due_date):
        self.title = title
        self.description = description
        self.due_date = due_date
        self.completed = False

    def mark_completed(self):
        self.completed = True

    def __str__(self):
        status = "Completed" if self.completed else "Pending"
        return f"Task: {self.title}, Status: {status}, Due: {self.due_date}"

class TaskManager:
    def __init__(self):
        self.tasks = []

    def add_task(self, title, description, due_date):
        task = Task(title, description, due_date)
        self.tasks.append(task)
        print(f"Added task: {task}")

    def remove_task(self, title):
        self.tasks = [task for task in self.tasks if task.title != title]
        print(f"Removed task with title: {title}")

    def get_pending_tasks(self):
        return [task for task in self.tasks if not task.completed]

    def get_completed_tasks(self):
        return [task for task in self.tasks if task.completed]

    def get_overdue_tasks(self):
        today = datetime.date.today()
        return [task for task in self.tasks if task.due_date < today and not task.completed]

def log_activity(func):
    def wrapper(*args, **kwargs):
        print(f"Executing {func.__name__} at {datetime.datetime.now()}")
        result = func(*args, **kwargs)
        print(f"Finished executing {func.__name__}")
        return result
    return wrapper

@log_activity
def main():
    task_manager = TaskManager()

    task_manager.add_task("Buy groceries", "Milk, Bread, Cheese", datetime.date(2024, 7, 15))
    task_manager.add_task("Complete assignment", "Finish math homework", datetime.date(2024, 7, 10))
    task_manager.add_task("Clean house", "Living room and kitchen", datetime.date(2024, 7, 20))

    print("\nAll tasks:")
    for task in task_manager.tasks:
        print(task)

    print("\nPending tasks:")
    for task in task_manager.get_pending_tasks():
        print(task)

    print("\nMarking 'Complete assignment' as completed.")
    for task in task_manager.tasks:
        if task.title == "Complete assignment":
            task.mark_completed()

    print("\nCompleted tasks:")
    for task in task_manager.get_completed_tasks():
        print(task)

    print("\nOverdue tasks:")
    for task in task_manager.get_overdue_tasks():
        print(task)

    print("\nRemoving 'Buy groceries' task.")
    task_manager.remove_task("Buy groceries")

    print("\nAll tasks after removal:")
    for task in task_manager.tasks:
        print(task)

if __name__ == "__main__":
    main()

5.1 代码解释

  1. Task类:定义一个任务类,包含标题、描述、截止日期和完成状态。
  2. TaskManager类:管理任务的添加、删除、获取未完成任务、获取已完成任务和获取逾期任务的功能。
  3. log_activity装饰器:用于记录函数的执行时间和状态。
  4. main函数:展示如何使用上述类和装饰器来创建、管理和操作任务。

5.2 运行结果

在这里插入图片描述

这篇博文详细介绍了Python的标准库模块ossysdatetimemath的使用,并提供了一个综合详细的例子,展示了这些模块在实际项目中的应用。希望能对你的Python学习和开发有所帮助。


欢迎点赞|关注|收藏|评论,您的肯定是我创作的动力

http://www.kler.cn/news/316531.html

相关文章:

  • CVE-2024-2389 未经身份验证的命令注入
  • LeetCode --- 139双周赛
  • STM32篇:开发环境安装
  • 基于微信小程序的科创微应用平台设计与实现+ssm(lw+演示+源码+运行)
  • MongoDB 双活集群在运营商的实践
  • 利用mybatis拦截器完成入库加密出库解密
  • 算法之搜索--最长公共子序列LCS
  • leetcode746. 使用最小花费爬楼梯,动态规划
  • Uniapp低版本的安卓不能用解决办法
  • Qt_窗口界面QMainWindow的介绍
  • Deep Guided Learning for Fast Multi-ExposureImage Fusion
  • 对接空号检测平台可以降低成本吗
  • 动手学深度学习(pytorch)学习记录32-稠密连接网络(DenseNet)[学习记录]
  • Vue | watch监听
  • IDEA Project不显示/缺失文件
  • 手机在网状态查询接口如何用PHP进行调用?
  • AWS 管理控制台
  • Apache APISIX学习(1):介绍、docker启动
  • Java是怎么处理死锁的
  • 006——队列
  • 带线无人机现身俄罗斯抗干扰技术详解
  • HTML5 Video标签的属性、方法和事件汇总,以及常用视频插件推荐
  • 深蓝学院-- 量产自动驾驶中的规划控制算法 小鹏
  • G - Merchant Takahashi / F - Useless for LIS
  • mysql学习教程,从入门到精通,TOP 和MySQL LIMIT 子句(15)
  • 本地连线上Redis访问不通
  • SpringBoot权限认证-Sa-Token的使用与详解
  • C++第十二节课 模板初阶和string引入
  • Apache Flink 流批融合技术介绍
  • 安装vue 试了很多镜像不成功, 最后找到了