以下是通过示例介绍Python标准库中的一些常用模块,包括ossysmathdatetime等。

1. os模块

os模块提供了许多与操作系统交互的函数,用于文件和目录管理、路径操作、环境变量等。

示例

import os

# 获取当前工作目录
current_dir = os.getcwd()
print(f"当前工作目录: {current_dir}")

# 改变当前工作目录
os.chdir('/path/to/directory')

# 列出当前目录下的所有文件和子目录
files = os.listdir('.')
print(f"当前目录下的文件和子目录: {files}")

# 创建目录
os.mkdir('test_dir')

# 递归创建多层目录
os.makedirs('test_dir/sub_dir/sub_sub_dir')

# 删除空目录
os.rmdir('test_dir/sub_dir/sub_sub_dir')

# 递归删除空目录
os.removedirs('test_dir/sub_dir/sub_sub_dir')

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

# 重命名文件或目录
os.rename('oldname.txt', 'newname.txt')

# 连接多个路径名组件
path = os.path.join('/home', 'user', 'documents', 'file.txt')
print(f"拼接路径: {path}")

# 获取绝对路径
abs_path = os.path.abspath('file.txt')
print(f"绝对路径: {abs_path}")

# 获取基本文件名
filename = os.path.basename(path)
print(f"基本文件名: {filename}")

# 获取目录名
dirname = os.path.dirname(path)
print(f"目录名: {dirname}")

# 检查路径是否存在
exists = os.path.exists(path)
print(f"路径是否存在: {exists}")

# 获取文件大小
file_size = os.path.getsize('file.txt')
print(f"文件大小: {file_size} 字节")

# 获取环境变量
path_var = os.getenv('PATH')
print(f"环境变量PATH的值: {path_var}")

# 设置环境变量(注意:在某些平台上不可用)
os.putenv('TEST_VAR', 'test_value')

# 运行shell命令
os.system('ls -l')

2. sys模块

sys模块提供了与Python解释器和操作系统进行交互的功能。

示例

import sys

# 获取命令行参数
args = sys.argv
print(f"脚本名称: {args[0]}")
print(f"命令行参数: {args[1:]}")

# 获取Python解释器版本信息
print(f"Python解释器版本: {sys.version}")

# 获取当前进程ID
pid = os.getpid()
print(f"当前进程ID: {pid}")

# 获取父进程ID
ppid = os.getppid()
print(f"父进程ID: {ppid}")

# 退出程序
sys.exit(0)  # 0表示正常退出,非0表示异常退出

# 标准输入、标准输出、标准出错
name = input("请输入你的名字: ")
sys.stdout.write(f"你好, {name}!\n")
sys.stderr.write("这是一个错误消息。\n")

# 获取模块搜索路径
for path in sys.path:
    print(f"模块搜索路径: {path}")

3. math模块

math模块提供了许多数学常量和函数,用于执行各种数学运算。

示例

import math

# 数学常量
pi = math.pi
e = math.e
print(f"圆周率π: {pi}")
print(f"自然对数的底数e: {e}")

# 代数和几何函数
absolute_value = math.fabs(-3.5)
print(f"绝对值: {absolute_value}")

power_result = math.pow(2, 3)
print(f"幂运算: {power_result}")

sqrt_result = math.sqrt(16)
print(f"平方根: {sqrt_result}")

# 三角函数(以弧度为单位)
sin_value = math.sin(math.pi / 4)
print(f"正弦值: {sin_value}")

cos_value = math.cos(math.pi / 2)
print(f"余弦值: {cos_value}")

# 对数函数
log_e = math.log(math.e)
print(f"自然对数: {log_e}")

log10_value = math.log10(100)
print(f"以10为底的对数: {log10_value}")

# 其他实用函数
factorial_result = math.factorial(5)
print(f"阶乘: {factorial_result}")

floor_result = math.floor(3.7)
print(f"向下取整: {floor_result}")

ceil_result = math.ceil(3.3)
print(f"向上取整: {ceil_result}")

4. datetime模块

datetime模块提供了处理日期和时间的类和方法。

示例

import datetime

# 获取当前日期和时间
now = datetime.datetime.now()
print(f"当前日期和时间: {now}")

# 创建日期对象
date_obj = datetime.date(2023, 5, 1)
print(f"日期对象: {date_obj}")

# 创建时间对象
time_obj = datetime.time(12, 20, 20)
print(f"时间对象: {time_obj}")

# 创建日期时间对象
datetime_obj = datetime.datetime(2023, 5, 1, 12, 20, 20)
print(f"日期时间对象: {datetime_obj}")

# 日期时间加减
future_date = now + datetime.timedelta(days=7)
print(f"7天后的日期和时间: {future_date}")

# 比较日期时间
if future_date > now:
    print("未来日期在当前日期之后")

# 格式化日期和时间
formatted_date = date_obj.strftime('%Y-%m-%d')
print(f"格式化后的日期: {formatted_date}")

# 处理时区
dt_with_tz = datetime.datetime.now(datetime.timezone.utc)
print(f"带有时区信息的日期和时间: {dt_with_tz}")

dt_with_local_tz = dt_with_tz.astimezone(datetime.timezone(datetime.timedelta(hours=8)))
print(f"转换时区后的日期和时间: {dt_with_local_tz}")

本文著作权由作者所有,Python学习(9)标准库中的一些常用模块 收录于 日有所思,商业授权请联系作者。

添加新评论

登录