-
2026-01-27 16:06:01
-
2026-01-27 16:11:02
-
2026-01-27 16:13:02
-
2026-01-27 16:16:02
-
2026-01-27 16:24:10
-
2026-01-27 16:28:02
- 如何在 except 块中重新抛出原始异常但附加额外信息
- 最安全的重新抛出原始异常方式是不带参数的raise,它保留类型、消息和完整traceback;错误做法是raisee会丢失traceback;需补充信息时可用raise...from或Python3.11+的add_note()。
-
765
-
2026-01-27 16:32:03
- 在多线程中不加锁使用 defaultdict 是否安全
- defaultdict不是线程安全的,因其底层dict的读写及默认工厂调用均非原子操作,多线程下易导致重复创建对象、副作用重复执行或数据丢失;安全做法需保证“查+设”原子性,如用setdefault或加锁。
-
889
-
2026-01-27 16:41:04
-
2026-01-27 16:41:50
- 如何创建临时目录并在 with 结束后递归删除
- tempfile.TemporaryDirectory是Python3.2+推荐的临时目录管理方式,with语句确保自动创建与递归删除(含异常时),比mkdtemp+rmtree更安全;需注意Windows路径长度、文件占用及权限问题,支持prefix/suffix/dir参数定制,禁用NFS路径。
-
532
-
2026-01-27 16:48:03
- Python 中变量赋值背后的真实机制
- Python变量是标签而非盒子,赋值仅改变指向;可变对象赋值共享引用,修改会相互影响;is判断同一对象,==判断逻辑相等;函数内赋值默认创建局部变量。
-
473