分类 Python 下的文章

指令

清除文件头的注解或者函数注解

^\s*"""(.|[\r\n])*?\s*"""[\r\n]+

清除#开头的注释

允许行首有缩进
^\s*#.*[\r\n]+

清除代码块内的单行注释

包括行尾的注释
(?<=[^#])#[^'"]+?$

小结

从上而下,执行完三个命令后,所有的注释和 doc-string 都会被清理干净。

背景说明

在尝试从源码安装某个 PyPi 库时,Windows 下报错——提示 UnicodeDecodeError,这个错误在 Linux 测试没有出现过。然而甲方的技术栈,无论是软件,还是机器,都依赖微软系,这就倒逼我们去适配他们的环境。

问题分析

虽然 PyPi 有这个包的 wheel,但是更新没有那么频繁。所以,官方推荐将代码 Clone 下来,再通过 setup.py 来构建并安装。

pip_install_anomalib.webp
图 1: 安装时报错

- More -

背景说明

在开发机器视觉应用时,Python 这一脚本语言很适合作为胶水将其它语言编写的组件粘贴起来,也就是说控制逻辑部分变动比较快的话,使用 JS, Lua 或 Python 来写,除了开发速度快,还有利于跨平台运行;而底层的基础设施 Infra 则采用机器执行效率更高的语言,甚至可以为不同的硬件做汇编指令级别的定制。


本文要解决的问题,包括:

  • 从源码编译并安装 OpenCV 4.x(如 4.4.5)
  • 在 C++ 代码中调用 OpenCV 库,完成简单的图像矩阵化操作
  • 将 C++ 代码编译并链接成 .so 动态链接库
  • 使用 make 工具链,自动化完成构建工作
  • 在 Python 中调用动态连接库

- More -

为什么这么设计(Why’s THE Design)是一系列关于计算机程序设计中决策的文章,在这个系列的每一篇文章中都会提出一个具体的问题,并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。

🙋‍♂️ 简要回答

TL;DR

这样的机制是保护用户在无意中调用脚本中的代码。以下面的脚本为例子:

- More -