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)}")
五、综合详细例子
以下是一个综合详细的例子,展示了如何使用 os
、sys
、datetime
和 math
模块来创建一个简单的任务管理系统:
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 代码解释
- Task类:定义一个任务类,包含标题、描述、截止日期和完成状态。
- TaskManager类:管理任务的添加、删除、获取未完成任务、获取已完成任务和获取逾期任务的功能。
- log_activity装饰器:用于记录函数的执行时间和状态。
- main函数:展示如何使用上述类和装饰器来创建、管理和操作任务。
5.2 运行结果
这篇博文详细介绍了Python的标准库模块os
、sys
、datetime
和math
的使用,并提供了一个综合详细的例子,展示了这些模块在实际项目中的应用。希望能对你的Python学习和开发有所帮助。
欢迎点赞|关注|收藏|评论,您的肯定是我创作的动力