目录
一、 Random 模块
random
模块用于生成随机数和随机选择元素等操作。
常用功能
- 生成随机数:
random.random()
:返回一个 [0.0, 1.0) 范围内的随机浮点数。random.randint(a, b)
:返回一个 [a, b] 范围内的随机整数。random.uniform(a, b)
:返回一个 [a, b] 范围内的随机浮点数。
- 随机选择元素:
random.choice(sequence)
:从非空序列中随机选择一个元素。random.choices(population, weights=None, *, cum_weights=None, k=1)
:从序列中随机选择多个元素,可以指定权重。
- 随机洗牌:
random.shuffle(x[, random])
:将序列中的元素随机打乱顺序。
import random
# 生成随机数
print(random.random()) # 例如:0.37444887175646646
print(random.randint(1, 10)) # 例如:7
print(random.uniform(1, 10)) # 例如:5.423214502290035
# 随机选择元素
my_list = [1, 2, 3, 4, 5]
print(random.choice(my_list)) # 例如:3
print(random.choices(my_list, k=3)) # 例如:[2, 4, 1]
# 随机洗牌
random.shuffle(my_list)
print(my_list) # 例如:[3, 1, 5, 2, 4]
二、 Time 模块
time
模块提供了各种与时间相关的函数。
常用功能
- 获取当前时间:
time.time()
:返回当前时间的时间戳(自 1970 年 1 月 1 日以来的秒数)。
- 时间格式化:
time.ctime([secs])
:将时间戳转换为字符串形式。time.strftime(format[, t])
:将时间元组转换为格式化的字符串。
- 时间延迟:
time.sleep(secs)
:使程序暂停指定的秒数。
import time
# 获取当前时间
current_time = time.time()
print("Current time in seconds since the Epoch:", current_time)
# 时间格式化
print("Formatted time:", time.ctime(current_time))
print("Formatted time:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# 时间延迟
print("Before sleep")
time.sleep(2) # 暂停 2 秒
print("After sleep")
三、 Datetime 模块
datetime
模块提供了日期和时间的处理功能。
常用功能
- 日期和时间对象:
datetime.date(year, month, day)
:创建一个日期对象。datetime.time(hour, minute, second, microsecond)
:创建一个时间对象。datetime.datetime(year, month, day, hour, minute, second, microsecond)
:创建一个日期和时间对象。
- 获取当前日期和时间:
datetime.date.today()
:返回当前日期。datetime.datetime.now()
:返回当前日期和时间。
- 时间差:
datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks)
:表示两个日期或时间之间的差值。
- 日期和时间格式化:
datetime.strftime(format)
:将日期和时间对象格式化为字符串。
- 日期和时间解析:
datetime.strptime(date_string, format)
:将字符串解析为日期和时间对象。
from datetime import date, time, datetime, timedelta
# 创建日期和时间对象
my_date = date(2024, 1, 1)
my_time = time(12, 30, 45)
my_datetime = datetime(2024, 1, 1, 12, 30, 45)
# 获取当前日期和时间
current_date = date.today()
current_datetime = datetime.now()
# 时间差
delta = timedelta(days=1, hours=2, minutes=30)
future_date = current_date + delta
# 日期和时间格式化
print("Formatted date:", my_date.strftime("%Y-%m-%d"))
print("Formatted datetime:", my_datetime.strftime("%Y-%m-%d %H:%M:%S"))
# 日期和时间解析
date_str = "2024-01-01"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d")
print("Parsed date:", parsed_date)
四、 Os 模块
os
模块提供了与操作系统进行交互的功能。
常用功能
- 文件和目录操作:
os.listdir(path)
:列出指定目录下的所有文件和目录名。os.mkdir(path)
:创建一个目录。os.makedirs(path)
:递归创建目录。os.rmdir(path)
:删除一个空目录。os.rename(src, dst)
:重命名文件或目录。os.remove(path)
:删除一个文件。
- 环境变量:
os.environ
:一个字典,包含所有的环境变量。os.getenv(key, default=None)
:获取环境变量的值。
- 路径操作:
os.path.join(path, *paths)
:连接多个路径部分。os.path.split(path)
:将路径分割为目录和文件名。os.path.exists(path)
:检查路径是否存在。
- 系统信息:
os.name
:返回操作系统的名称。os.getpid()
:返回当前进程的进程号。
import os
# 文件和目录操作
os.mkdir("new_directory")
os.makedirs("new_directory/sub_directory")
os.rename("old_name.txt", "new_name.txt")
os.remove("file.txt")
print(os.listdir(".")) # 列出当前目录下的所有文件和目录
# 环境变量
print(os.environ['PATH']) # 获取 PATH 环境变量的值
print(os.getenv('HOME', '/default/home')) # 获取 HOME 环境变量的值
# 路径操作
full_path = os.path.join("path", "to", "file.txt")
print(full_path)
print(os.path.split(full_path)) # ('path/to', 'file.txt')
print(os.path.exists(full_path)) # False
# 系统信息
print(os.name) # 例如:'posix' 或 'nt'
print(os.getpid()) # 当前进程的进程号
五、 Sys 模块
sys
模块提供了与 Python 解释器进行交互的功能。
常用功能
- 命令行参数:
sys.argv
:一个列表,包含命令行参数。
- 标准输入输出流:
sys.stdin
:标准输入流。sys.stdout
:标准输出流。sys.stderr
:标准错误流。
- 系统信息:
sys.platform
:返回操作系统平台名称。sys.version
:返回 Python 解释器的版本信息。sys.version_info
:返回一个包含 Python 版本信息的元组。
- 退出程序:
sys.exit([arg])
:退出程序,可选参数arg
可以是退出状态码或退出消息。
import sys
# 命令行参数
print(sys.argv) # 输出所有命令行参数
print(sys.argv[0]) # 输出脚本名称
print(sys.argv[1:]) # 输出所有其他参数
# 标准输入输出流
for line in sys.stdin:
print(line.strip())
sys.stdout.write("Hello, World!\n")
sys.stderr.write("Error message\n")
# 系统信息
print(sys.platform) # 例如:'linux'、'win32'、'darwin'
print(sys.version) # Python 解释器的版本信息
print(sys.version_info) # 包含 Python 版本信息的元组
# 退出程序
sys.exit("Exiting the program")
# 或者
sys.exit(0) # 退出状态码为 0