os
模块和 pathlib
模块就派上大用场了。os
模块里有好多操作文件系统的函数,比如获取当前目录可以用 os.getcwd()
,创建目录用 os.mkdir('new_dir')
,删除文件用 os.remove('file.txt')
。不过要注意,删除目录得用 os.rmdir('empty_dir')
,而且目录必须是空的才行。pathlib
模块则是用面向对象的方式来处理路径,在处理复杂路径时特别方便。比如拼接路径可以这样写:from pathlib import Path
base_path = Path('/user/data')
file_path = base_path / 'file.txt'
print(file_path) # 输出 /user/data/file.txt
file_path.exists()
,获取文件大小用 file_path.stat().st_size
,是不是比 os
模块的函数更直观?json
模块和 csv
模块是常用的工具。json
模块用于处理 JSON 格式的数据,比如将 Python 对象转换成 JSON 字符串用 json.dumps()
,把 JSON 字符串转换成 Python 对象用 json.loads()
。举个例子:import json
data = {'name': '张三', 'age': }
json_str = json.dumps(data)
print(json_str) # 输出 {"name": "张三", "age": 20}
new_data = json.loads(json_str)
print(new_data['name']) # 输出 张三
csv
模块用于处理 CSV 文件,可以读取和写入 CSV 数据。读取 CSV 文件时,用 csv.reader
逐行读取,写入时用 csv.writer
逐行写入。如果 CSV 文件有表头,还可以用 csv.DictReader
和 csv.DictWriter
,通过字典的方式操作数据,更方便识别每一列的内容。datetime
模块必不可少。它可以创建日期和时间对象,进行时间的加减、比较等操作。datetime.datetime.now()
,创建指定日期和时间用 datetime.datetime(2023, 10, 1, 12, 30, 0)
。计算时间间隔可以用 datetime.timedelta
,比如:from datetime import datetime, timedelta
now = datetime.now()
one_hour_later = now + timedelta(hours=)
print(one_hour_later)
strftime
方法,比如 now.strftime('%Y-%m-%d %H:%M:%S')
会输出类似 2023-10-01 12:30:00
的字符串。collections
模块提供了一些比普通列表、字典更高效或更便捷的数据结构。OrderedDict
是有序字典,在 Python 3.7 之后字典本身已经是有序的,但 OrderedDict
在某些需要严格保持顺序的场景下还是很有用。defaultdict
可以设置默认值,当访问不存在的键时,会自动创建并返回默认值,避免抛出 KeyError
。from collections import defaultdict
d = defaultdict(list)
d['a'].append()
d['a'].append()
d['b'].append()
print(d['a']) # 输出 [1, 2]
print(d['c']) # 输出 [],不会报错
deque
是双端队列,可以在两端快速添加和删除元素,比列表的 append
和 pop
在两端操作时效率更高。itertools
模块里有很多处理迭代器的工具,能让咱们更高效地处理循环和数据。itertools.count
可以创建一个无限递增的迭代器,itertools.zip_longest
可以处理长度不同的可迭代对象,填充指定值直到最长的那个结束。还有 itertools.permutations
生成排列,itertools.combinations
生成组合,在需要处理排列组合问题时非常方便。import itertools
numbers = [, , ]
for perm in itertools.permutations(numbers):
print(perm) # 输出 (1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), (3,2,1)
for comb in itertools.combinations(numbers, ):
print(comb) # 输出 (1,2), (1,3), (2,3)
threading
模块和 multiprocessing
模块就很重要了。threading
模块用于创建线程,适合 I/O 密集型任务,比如同时下载多个文件。创建线程很简单,继承 threading.Thread
类,重写 run
方法,然后调用 start
方法启动线程。multiprocessing
模块用于创建进程,适合 CPU 密集型任务,因为 Python 的线程受 GIL 限制,在 CPU 密集型任务中多进程能更好地利用多核处理器。它的用法和 threading
类似,但要注意进程之间的数据共享需要通过队列、管道等方式。logging
模块可以让咱们方便地记录日志信息。DEBUG
、INFO
、WARNING
、ERROR
、CRITICAL
,只有级别大于等于设置级别的日志才会被记录。还可以设置日志的格式,包括时间、级别、模块名、消息等。import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logging.info('这是一条信息日志')
logging.warning('这是一条警告日志')
socket
模块用于创建网络套接字,实现底层的网络通信,比如创建 TCP 或 UDP 服务器和客户端。urllib
模块则用于处理 URL 请求,比如发送 HTTP 请求、获取网页内容。urllib.request
模块可以发送请求,urllib.parse
模块用于解析 URL,urllib.error
模块处理错误。from urllib.request import urlopen
response = urlopen('https://www.example.com')
html = response.read().decode('utf-8')
print(html)
urllib
模块提供了丰富的功能来满足这些需求。os
模块和 pathlib
模块实现一个简单的文件管理工具,能列出指定目录下的所有文件和目录,统计文件大小,还能按类型过滤文件。from pathlib import Path
def list_files(dir_path):
path = Path(dir_path)
if not path.exists() or not path.is_dir():
print(f'目录 {dir_path} 不存在或不是一个目录')
return
for item in path.iterdir():
if item.is_file():
print(f'文件:{item.name},大小:{item.stat().st_size} 字节')
elif item.is_dir():
print(f'目录:{item.name}')
def filter_files_by_type(dir_path, file_type):
path = Path(dir_path)
if not path.exists() or not path.is_dir():
print(f'目录 {dir_path} 不存在或不是一个目录')
return
for item in path.glob(f'*.{file_type}'):
if item.is_file():
print(f'找到 {file_type} 文件:{item.name},大小:{item.stat().st_size} 字节')
def main():
dir_path = input('请输入目录路径:')
while True:
print('\n请选择操作:')
print('1. 列出所有文件和目录')
print('2. 按类型过滤文件')
print('3. 退出')
choice = input('输入选项(1-3):')
if choice == '1':
list_files(dir_path)
elif choice == '2':
file_type = input('请输入文件扩展名(如 txt、py):')
filter_files_by_type(dir_path, file_type)
elif choice == '3':
print('退出程序')
break
else:
print('无效选项,请重新输入')
if __name__ == '__main__':
main()
re
模块用于正则表达式,math
模块用于数学运算,email
模块用于处理电子邮件等等。咱们在开发过程中,遇到问题先想想标准库里有没有对应的工具,这样可以避免重复造轮子,提高开发效率。现在公众号运营竞争越来越激烈,尤其是金融领域,用户对专业内容的要求越来越高。2025 年,公众号运营者要想在金融领域站稳脚跟,提升自己的金融专业素养是关键。那么,具体该怎么做呢? 搭建系统的金融知识框
做美食公众号,第一步就得想清楚方向。探店和菜谱,看似都是美食领域,实际操作起来天差地别。不少新手一开始想两头抓,结果精力分散啥也做不好。今天就掰开揉碎了聊聊,这两个方向到底适合什么样的人,各自的坑和机
🔍 搜一搜流量池的红利期!2025 年关键词布局与涨粉技巧 2025 年微信搜一搜的流量格局正在发生质变。数据显示,搜一搜日活用户突破 8 亿,搜索结果页前三名的点击率高达 60%,而第四名之后的内
拿到 AI 生成的内容,别急着改。先花点时间好好看看,这是再创作的第一步,也是最关键的一步。你得搞清楚这东西到底写了些啥,有哪些地方能用,哪些地方就是个坑。原始 AI 内容的全面评估 🔍先看内容
?双机位布置:打造360°无死角面试环境力扣模拟面试的双机位要求让不少同学犯难,其实把它想象成给电脑装个「监控搭档」就简单了。主机位就是咱们平时用的电脑摄像头,记得调整到能露出整张脸和桌面的角度——下巴别藏在阴影里,键盘也别只露出半个。副机位一般用手机支架固定,放在身体侧后方45度角,这个位置既能拍
?精准提分黑科技!ExamifyAI如何重塑2025考试备考模式?一、核心功能大揭秘:AI如何让考试准备更高效?ExamifyAI作为新一代智能考试平台,最吸引人的地方就是它的自适应学习引擎。这个系统就像一个贴心的私人教练,能根据你的答题数据自动调整学习路径。比如你在数学几何题上错误率高,系统会优先
你可能觉得公众号注册就是填几个信息的事,殊不知,这里面的每个选择都像蝴蝶扇动翅膀,未来三年的运营轨迹可能就被悄悄改变了。很多人刚开始没当回事,等到后面想调整,才发现处处受限,那叫一个后悔。今天就跟你好好聊聊,注册时那些看似不起眼的选择,到底能给未来的运营带来多大影响。📌账号类型选不对,三年运营路难
上周帮同事核查一篇AI写的行业报告,发现里面把2023年的用户增长率写成了2025年的预测数据。更离谱的是,引用的政策文件号都是错的。现在AI生成内容速度快是快,但这种硬伤要是直接发出去,读者信了才真叫坑人。今天就掰开揉碎了说,AI写作怎么做好事实核查,别让你的头条文章变成 误导重灾区 。📌AI写
🎯维度一:选题像打靶,靶心必须是「用户情绪储蓄罐」做内容的都清楚,10w+爆文的第一步不是写,是选。选题选不对,后面写得再好都是白搭。高手选选题,就像往用户的「情绪储蓄罐」里投硬币,投对了立刻就能听到回响。怎么判断选题有没有击中情绪?看三个指标:是不是高频讨论的「街头话题」?是不是藏在心里没说的「抽
📌135编辑器会员值不值得买?AI模板库和秀米H5谁更胜一筹?🔍135编辑器会员的核心价值解析企业级商用保障与效率提升135编辑器的企业会员堪称新媒体运营的「合规保险箱」。根据实际案例,某团队通过企业会员节省了大量设计费用,完成多篇内容创作,单篇成本从千元降至百元内。这得益于其海量正版模板和素材库,
新公众号被限流怎么办?粉丝增长影响分析及2025恢复指南🔍新公众号限流的核心原因解析新公众号被限流,往往是多个因素叠加的结果。根据2025年最新数据,超过70%的限流案例与内容质量直接相关。比如,有些新手喜欢用“震惊体”标题,像“惊!某公众号三天涨粉十万”,这类标题在2025年的算法里已经被明确标记
⚠️AI内容重复率高的3大核心原因现在用AI写东西的人越来越多,但很多人都会遇到同一个问题——重复率太高。明明是自己用工具生成的内容,一检测却显示和网上某些文章高度相似,这到底是为什么?最主要的原因是AI训练数据的重叠性。不管是ChatGPT还是国内的大模型,训练数据来源其实大同小异,都是爬取的互联
🌟135编辑器:公众号运营者的效率革命做公众号运营的朋友都知道,排版是个费时费力的活。一篇文章从内容到排版,没几个小时根本搞不定。不过现在好了,135编辑器的出现,彻底改变了这一现状。135编辑器是提子科技旗下的在线图文排版工具,2014年上线至今,已经成为国内新媒体运营的主流工具之一。它的功能非常
现在做内容的人几乎都离不开AI,但最头疼的就是原创度。平台检测一严格,那些模板化的AI文很容易被打回,甚至判定为“非原创”。但你知道吗?同样是用AI写东西,换个prompt指令词,原创度能差出天壤之别。我最近拿不同的prompt测了好几次,结果真的吓一跳——好的指令能让AI内容原创度直接从“及格线”