Python 潮流周刊#27:应该如何处理程序的错误?
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿。另有电报频道作为副刊,补充发布更加丰富的资讯。
产品推荐
Walles.AI 是一款适用于所有网站的浏览器插件,支持 GPT4 问答、ChatPDF、网页内容解释及翻译、生成高质量文章、与 Notion 等工具协同、在线摘要 Youtube 视频等。前往官网体验:安装地址
文章&教程
1、将 Python 错误作为值:比较 Go 和 Rust 的使用模式
文章比较了两种处理错误的方法:抛出错误和将错误作为返回值,并参照 Go 和 Rust 的处理模式,介绍如何在 Python 中实现将错误作为值返回。(附1:两种风格的错误处理 分析了两种风格的优缺点及其适用场景;附2:周刊第一期的 编程语言的四种错误处理方法 从语法、代码可读性、演变过程、运行效率角度对比了不同方案)
2、调试 Django 中的 CSRF 失败/403 禁止错误
部署 Django 程序时的一个常见错误是 403 Forbidden ,通常由 CSRF 错误导致,文章介绍了导致这种错误的 7 种原因,并解读 Django 源码,详细梳理了它们的校验逻辑。
Python 中的虚拟环境和包管理工具实在是太多了!但是应该如何选择最适合自己需求的工具呢?作者全面分析了 5 个类别的 10 多款工具,希望减少用户在抉择上的困惑。(附:作者针对此主题的两场演讲 PyCon DE 2023 和 EuroPython 2023)

你是否好奇一个代码调试器是如何工作的?当设置断点后,程序触发它时会发生什么?调试器是程序员日常必备工具之一,但极少有人知道它是如何实现的。这是一个系列教程,已更新 5 篇文章。值得一提的是,作者使用了最新的 Python 3.12 PEP-669 功能。
5、揭开 Python 3.12 的面纱:Python 世界有哪些新东西?
Python 3.12 已发布一个半月,你开始尝鲜了么?这篇内容全面的文章重点解读了新的几个 PEP,让你对这个版本有更清晰的认识。
Python 的字典是一种“哈希表”,提供了高效灵活的数据存储和检索方法。文章介绍了这种数据结构及其工作原理,探讨了如何用 Python 实现哈希表并解决哈希冲突。这是一个系列文章,作者还写了堆、队列、栈、数组等数据结构的指南。
作者想自己实现一个简化版的不太安全的沙盒,文章介绍了它的运作方式,以及一些关键性问题的解决方案,即独立的进程 + seccomp + setrlimit 。(附:如何安全运行别人上传的Python代码? 这篇文章的方案是使用 Docker 的 Python SDK 来构建镜像,在 Docker 中执行代码)
8、了解 Linux cp 命令并用 Python 编程实现
深入探讨了 Linux 中 cp 命令的工作原理,然后用 Python 实现了一个基础版本。从中可以看到高级编程语言提供的强大功能和简单性。
作者认为 Flask 虽然简单易用,但它可能会让初学者忽视 Web 开发的复杂性。Django 功能全面、生态系统成熟,更适合新手学习与提升生产力。
10、PEP-733:对 Python 公共 C API 的评估
一则信息型的 PEP,用于分享 C API 的信息,包括定义 C API 的用途、利益相关者及其使用场景和要求、C API 的优势、C API 的 9 项薄弱的问题。
作者出于编程乐趣的目的,定义了一组类似 JSON 的语法规则,然后使用 Python 逐一实现不同内容的提取与解析,开发了一个解析器。
12、一门编程语言应该有多大?
在作者眼中,Python 1.5 是他能完全理解的最后一个版本,而之后的版本则使得语言越来越大。语言设计时添加新功能,如何权衡取舍?作者建议学习 C 语言的例子,让语言处于“最小进化”模式。
PyCon China 2023今年国内 PyCon 将于 12 月在北京、上海、成都、杭州、重庆、深圳、广州联动举办。现在购票可享 7 折优惠:详情介绍
️项目&资源
一个强大的开源可视化语言模型 (VLM),CogVLM-17B 有 100 亿个视觉参数和 70 亿个语言参数,具有高性能,在多项跨模态基准测试中排名领先。(star 2.1K)

让你通过 Python 代码生成各类视频,包括但不限于演示视频、动态图形、着色器艺术编码和游戏解说视频。支持视频编辑、音频剪辑、图层转换及添加特效等。
这是一个 Web APP,可将摄像头视频流传给 AI,让它分析内容并实时回答你提出的问题。100% 本地和私有,Web UI 是用 gradio 构建,多模态 AI 模型是 Bakllava 。
4、vimGPT:使用 GPT-4V 和 Vimium 浏览网页
Vimium 是一个 Chrome 插件,可让你仅用键盘浏览网页,借助它,可以不将浏览器 DOM 传给大模型,仅用 GPT-4V 的视觉功能来浏览网页。(star 1.8K)

5、twitter_user_tweet_crawler:无需调用 Twitter API,爬取用户推文
使用 selenium 模拟浏览器操作,可抓取用户推文并保存静态资源到本地,无需调用 Twitter API。(投稿自@kaixinol)
6、RSS-OPML-to-Markdown:将 OPML 文件转化为易读的 Markdown 格式
经常有人分享自己 RSS 列表导出的 OPML 文件,但这难以阅读也不宜直接拿去导入自己的阅读器。这个项目将 RSS 源的概要和一些统计信息输出成 markdown 表格,方便你按需订阅。(投稿自@AboutRSS)
一个平民版视频翻译工具,音频翻译、翻译校正、视频唇纹合成全流程解决方案。
8、awesome-python-repo-stats:统计“awesome-python”列表中项目的信息
awesome-python 是一个拥有 187K star 超火爆的项目,收录了大量框架、库、软件和资源。这个项目是对它收录内容的统计分析,每日更新,可在线查看统计表。
一个用于生成神经文本的库,可视为 transformers 库中 generate 方法的替代品。(star 3.3K)
全新的 notebook 项目,其每个 notebook 都可作为交互式 Web 程序共享,可浏览数据、运行实验、构建工具和部署应用。

11、Finance:150+ 量化金融 Python 程序
一个资源集合项目,帮助你收集、操纵和分析股市数据。(star 1.2K)
一个远程监控和管理工具,使用 Django、Vue 和 Go 构建。类似 Teamviewer 的远程桌面控制、远程文件传输、远程执行命令和脚本、查看日志、告警管理、支持自动化。(star 2.3K)
播客&视频
Guido 本周在 X 上分享了这则视频,视频作者介绍了他们规划给 Python 3.13 开发一个 JIT 编译器!(附:演讲视频的文稿)
2、The Python Show 第 21 期:Sanic - 异步 Web 框架
Sanic 是支持异步编程的 Python Web 框架,能够快速构建和运行。这期播客的嘉宾是 Sanic 的维护者之一,话题包括 Web 框架对比、消息规范、Mayim(单向 ORM)。
本文首发于:https://pythoncat.top/posts/2023-11-18-weekly
欢迎订阅
- 微信公众号:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
- 博客 及 RSS:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
- Github:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
- 邮件:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
- Telegram:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
- Twitter:我的关注列表里有大量 Python 相关的开发者与组织的账号。
Python 潮流周刊#27:应该如何处理程序的错误?的更多相关文章
- Python 程序员经常犯的 10 个错误
关于PythonPython是一种解释性.面向对象并具有动态语义的高级程序语言.它内建了高级的数据结构,结合了动态类型和动态绑定的优点,这使得... 关于Python Python是一种解释性.面向对 ...
- Python开发者最常犯的10个错误
Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错 ...
- python问题:IndentationError:expected an indented block错误解决《转》
python问题:IndentationError:expected an indented block错误解决 标签: python语言 2012-07-07 17:59 125145人阅读 评论( ...
- <转>Python运行的17个时新手常见错误小结
1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”) 该错误将发生在 ...
- Python: The _imagingft C module is not installed错误的解决
Python: The _imagingft C module is not installed错误的解决 By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明 ...
- 小白学PYTHON时最容易犯的6个错误,看看你遇到过几个
最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下.其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰 ...
- Python运行的17个时新手常见错误小结
1)忘记在if , elif , else , for , while , class ,def 声明末尾添加 :(导致“SyntaxError :invalid syntax”) 该错误将发生在类似 ...
- 小白学PYTHON时最容易犯的6个错误
最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下.其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰 ...
- 在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: ‘文件路径’
如题,在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: '文件路径',在查阅了大量资料后也得到了一些解决方案,但是这些解决方案 ...
- python编程出现:expected an indented block错误。
python编程出现:expected an indented block错误. expected an indented block翻译为:应为缩进块. python中没有像C语言使用{}来表示从属 ...
随机推荐
- Powe AutoMate:列表操作
大纲 记录对列表的操作 创建列表 向列表中添加元素 添加多个 合并列表 运行结果 反转列表 反转前 反转后 删除列表中的重复项 结果: 减去列表 结果:
- Mybatis开发中的常用Maven配置
Mybatis导入Maven配置 <!-- MyBatis导入 --> <dependency> <groupId>org.mybatis</groupId& ...
- R2在全渠道业务线的落地
随着业务的增长,系统的高频率迭代,质量保障工作迫切需要引入更加科学高效的测试方法来助力业务高质量的交付.长城项目一期测试中,全渠道质量团队引入技术平台部R2技术,极大的提升了项目交付的质量.因此,本文 ...
- 解决git出现fatal: detected dubious ownership in repository at XXXXX的错误
在window环境下,使用git命令时报错fatal: detected dubious ownership in repository at XXXXXX,图片如下 解决方法如下 添加一行代码 gi ...
- 微信小程序上传文件操作示范
社会实践心得体会格式要求 提交的心得体会应为word文档,且图文并茂,全文段前.段后0,1.5倍行距. 题目:自拟,方正小标宋简体,小二号,加粗,居中. 个人信息:题目下方,宋体,小四号,加粗,居中, ...
- 【测试】自定义配置 RocksDB 进行 YCSB 测试
目录 简介 编译 RocksDB 编译 YCSB 修复报错 自定义配置 RocksDB 进行 YCSB 测试 参考资料 本文主要记录在利用 YCSB 使用配置文件测试 RocksDB 的过程中遇到的一 ...
- AI绘画创意文字全流程揭秘,你的终极文字艺术实操宝典
本教程收集于:AIGC从入门到精通教程汇总 AIGC技术不断更新迭代,国内出现了越来越多的新玩法,比如最近大家都在热议的AI绘画创意文字. 过去的一周,我把这些新玩法都研究了一遍,并总结了一套完整的制 ...
- 学习JavaScript的路径
学习JavaScript的路径可以按照以下步骤进行: 了解基本概念:首先学习JavaScript的基本概念,包括变量.数据类型.运算符.数组.对象.循环和条件语句等.可以通过阅读相关的教材.在线课程或 ...
- Solution -「九省联考 2018」劈配
Description Link. 一年一度的综艺节目<中国新代码>又开始了.Zayid 从小就梦想成为一名程序员,他觉得这是一个展示自己的舞台,于是他毫不犹豫地报名了. 轻车熟路的 Za ...
- 在deepin上使用Fleet开发SpringBoot 3.0.0项目
前言 Fleet被称为是由 JetBrains 打造的下一代 IDE,目前出于公测状态,可以免费下载使用. SpringBoot 3.0.0最小支持是JDK 17,这或许是对于JDK8的断舍离迈出的重 ...