tydocs.pages.devtydocs.pages.dev
网站首页
快速开始
关于作者
  • 在线工具大全
  • 在线ASCII码表
  • 正则表达式调试工具
  • 正则表达式可视化
  • BASE64编解码工具
  • MD5编码工具
  • AES/DES加解密
  • ASCII编解码工具
  • 在线JSON解析
  • CSS可视化工具
  • HTTP在线接口测试
  • 在线编译套装
  • 在线文本比对
  • 在线思维导图
  • 在线字数统计
  • 在线代码截图
  • 在线短链接生成
  • 在线文本替换
  • 在线文件压缩工具
  • 在线多媒体转换器
  • 在线PDF工具
  • 在线PS工具
  • logo在线制作
  • 图片智能放大工具
  • 在线抠图工具
  • ICO图标在线生成
  • 视频转GIF工具
  • DeepSeek | 深度求索
  • 通义千问 Qwen3-235B
  • 智谱清言 (chatglm.cn)
  • 豆包 - (doubao.com)
  • Kimi - (moonshot.cn)
  • 百川 - (baichuan - ai.com)
  • 通义千问 - (aliyun.com)
  • 文心一言 (baidu.com)
  • 讯飞星火 - (xfyun.cn)
  • 百度AI搜索 - deepseek
  • 天工AI - (tiangong.cn)
  • 秘塔AI搜索 (metaso.cn)
  • 微软 - copilot - 要挂梯子
网站首页
快速开始
关于作者
  • 在线工具大全
  • 在线ASCII码表
  • 正则表达式调试工具
  • 正则表达式可视化
  • BASE64编解码工具
  • MD5编码工具
  • AES/DES加解密
  • ASCII编解码工具
  • 在线JSON解析
  • CSS可视化工具
  • HTTP在线接口测试
  • 在线编译套装
  • 在线文本比对
  • 在线思维导图
  • 在线字数统计
  • 在线代码截图
  • 在线短链接生成
  • 在线文本替换
  • 在线文件压缩工具
  • 在线多媒体转换器
  • 在线PDF工具
  • 在线PS工具
  • logo在线制作
  • 图片智能放大工具
  • 在线抠图工具
  • ICO图标在线生成
  • 视频转GIF工具
  • DeepSeek | 深度求索
  • 通义千问 Qwen3-235B
  • 智谱清言 (chatglm.cn)
  • 豆包 - (doubao.com)
  • Kimi - (moonshot.cn)
  • 百川 - (baichuan - ai.com)
  • 通义千问 - (aliyun.com)
  • 文心一言 (baidu.com)
  • 讯飞星火 - (xfyun.cn)
  • 百度AI搜索 - deepseek
  • 天工AI - (tiangong.cn)
  • 秘塔AI搜索 (metaso.cn)
  • 微软 - copilot - 要挂梯子
  • Python 标准库:常用模块的使用

Python 标准库:常用模块的使用

一、os 模块

(一)文件和目录操作

  1. 获取当前工作目录
  • os.getcwd() 用于返回当前 Python 脚本的工作目录。
import os
current_dir = os.getcwd()
print(current_dir)
  1. 改变当前工作目录
  • os.chdir(path) 可将当前工作目录更改为指定的 path。
import os
os.chdir('/new/directory/path')
  1. 列出目录内容
  • os.listdir(path='.') 会返回指定目录下的所有文件和子目录的列表。若不指定 path,则默认为当前目录。
import os
file_list = os.listdir()
print(file_list)
  1. 创建目录
  • os.mkdir(path) 用于创建一个新目录,若目录已存在则会抛出 FileExistsError 异常。
  • os.makedirs(path, exist_ok=False) 可以递归创建目录,exist_ok 为 True 时,若目录已存在不会报错。
import os
os.mkdir('new_directory')
os.makedirs('new/directory/structure', exist_ok=True)
  1. 删除目录
  • os.rmdir(path) 用于删除空目录,若目录不为空则会抛出 OSError 异常。
  • shutil.rmtree(path) 可以递归删除目录及其所有内容。
import os
import shutil
os.rmdir('empty_directory')
shutil.rmtree('non_empty_directory')
  1. 重命名文件或目录
  • os.rename(src, dst) 可将 src 重命名为 dst。
import os
os.rename('old_name.txt', 'new_name.txt')
  1. 删除文件
  • os.remove(path) 用于删除指定的文件。
import os
os.remove('unwanted_file.txt')

(二)路径操作

  1. 拼接路径
  • os.path.join(path1, path2, ...) 可以将多个路径组件拼接成一个完整的路径,会根据不同操作系统使用正确的路径分隔符。
import os
full_path = os.path.join('parent_dir', 'child_dir', 'file.txt')
print(full_path)
  1. 获取文件或目录的基本名称
  • os.path.basename(path) 会返回路径的最后一个组件。
import os
file_name = os.path.basename('/path/to/file.txt')
print(file_name)
  1. 获取文件或目录的父目录
  • os.path.dirname(path) 会返回路径的目录部分。
import os
dir_name = os.path.dirname('/path/to/file.txt')
print(dir_name)
  1. 检查路径是否存在
  • os.path.exists(path) 用于检查指定的路径是否存在。
import os
if os.path.exists('/path/to/somewhere'):
    print('路径存在')
else:
    print('路径不存在')
  1. 判断路径是文件还是目录
  • os.path.isfile(path) 用于判断路径是否为文件。
  • os.path.isdir(path) 用于判断路径是否为目录。
import os
if os.path.isfile('/path/to/file.txt'):
    print('是文件')
if os.path.isdir('/path/to/directory'):
    print('是目录')

二、sys 模块

(一)命令行参数

  • sys.argv 是一个包含命令行参数的列表,sys.argv[0] 是脚本的名称,后续元素是传递给脚本的参数。
import sys
print(f'脚本名称: {sys.argv[0]}')
if len(sys.argv) > 1:
    print('传递的参数:')
    for arg in sys.argv[1:]:
        print(arg)

(二)退出程序

  • sys.exit([arg]) 用于退出 Python 解释器,arg 可以是一个整数,表示退出状态码,默认值为 0 表示正常退出。
import sys
if some_condition:
    sys.exit(1)  # 异常退出

(三)获取 Python 解释器信息

  • sys.version 会返回 Python 解释器的版本信息。
  • sys.platform 会返回当前操作系统的平台名称。
import sys
print(f'Python 版本: {sys.version}')
print(f'操作系统平台: {sys.platform}')

三、datetime 模块

(一)日期和时间类

  1. datetime 类
  • 用于表示日期和时间,可通过 year、month、day、hour、minute、second 等属性访问具体信息。
from datetime import datetime
now = datetime.now()
print(f'当前日期和时间: {now}')
print(f'年份: {now.year}')
print(f'月份: {now.month}')
  1. date 类
  • 用于表示日期,只包含年、月、日信息。
from datetime import date
today = date.today()
print(f'今天的日期: {today}')
  1. time 类
  • 用于表示时间,只包含时、分、秒、微秒信息。
from datetime import time
t = time(12, 30, 0)
print(f'时间: {t}')

(二)日期和时间的格式化

  • strftime(format) 方法可将日期和时间对象格式化为字符串,format 是格式化字符串。
from datetime import datetime
now = datetime.now()
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')
print(formatted_date)

(三)字符串解析为日期和时间

  • strptime(date_string, format) 方法可将字符串解析为日期和时间对象。
from datetime import datetime
date_str = '2024-10-01 12:30:00'
dt = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S')
print(dt)

四、random 模块

(一)生成随机数

  1. random.random()
  • 生成一个介于 0.0 到 1.0 之间的随机浮点数。
import random
random_float = random.random()
print(random_float)
  1. random.randint(a, b)
  • 生成一个介于 a 到 b 之间(包括 a 和 b)的随机整数。
import random
random_int = random.randint(1, 10)
print(random_int)
  1. random.uniform(a, b)
  • 生成一个介于 a 到 b 之间的随机浮点数。
import random
random_float_range = random.uniform(2.5, 5.5)
print(random_float_range)

(二)随机选择元素

  1. random.choice(seq)
  • 从非空序列 seq 中随机选择一个元素。
import random
my_list = [1, 2, 3, 4, 5]
random_choice = random.choice(my_list)
print(random_choice)
  1. random.sample(population, k)
  • 从 population 序列中随机选择 k 个不重复的元素。
import random
my_list = [1, 2, 3, 4, 5]
random_sample = random.sample(my_list, 3)
print(random_sample)

(三)打乱序列顺序

  • random.shuffle(x) 用于将可变序列 x 中的元素随机打乱顺序。
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)

五、json 模块

(一)JSON 数据编码

  • json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) 可将 Python 对象编码为 JSON 字符串。
import json
data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(data)
print(json_str)

(二)JSON 数据解码

  • json.loads(s, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) 可将 JSON 字符串解码为 Python 对象。
import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
print(data)

(三)JSON 文件读写

  • json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) 可将 Python 对象写入 JSON 文件。
  • json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) 可从 JSON 文件中读取数据并解码为 Python 对象。
import json
data = {'name': 'John', 'age': 30, 'city': 'New York'}
with open('data.json', 'w') as f:
    json.dump(data, f)

with open('data.json', 'r') as f:
    loaded_data = json.load(f)
    print(loaded_data)