用Python做自己的airdrop – PyQt5系列教程说明
桌面应用 用Python做自己的airdrop – PyQt5系列教程说明

通过一个实际的小项目学会这些知识点 本系列教程的目的是希望读者通过一个不那么枯燥的方式了解一些重要的知识点,我们没有通过简单的堆砌概念,或用一些枯燥的示例来讲述一个一个知识点,而是期望读者能够一步一步做一个能够运行(或许在学习工作中还能用到) 的小软件,在实现项目的同时学习到知识点。本系列文章中涵盖的主要知识点包括: GUI桌面应用编程的基本逻辑 PyQt5实现一个应用需要掌握的基本概念和逻辑 Socket的基本概念和逻辑 线程的基本概念和逻辑 文章中使用到的代码也可以在 https://github.

read more
听懂汽车的语言 – 使用Python控制CAN总线
工业汽车嵌入式 听懂汽车的语言 – 使用Python控制CAN总线

CAN总线是在汽车和工业领域广泛应用的一种通讯方式,电脑上并没有配备相应的物理硬件,市面上有很多公司提供不同的将CAN转为USB的设备,使用这些设备电脑就能够借由USB通过CAN总线跟汽车或者其他工业设备进行交流,通常来说,这些公司都会针对其对应的硬件设备提供相应的软件,不过因为其专业性,要不软件的价格比较贵的,要不免费的软件功能有限。 虽然是一个比较冷门的应用场景,但使用Python确实也是可以使用这些设备来进行CAN总线通讯的,这都得益于丰富的Python生态,在这一篇文章中,我们将介绍一个能够支持市面上常用的CAN设备的Python库: python-can,这个库做的非常好,一方面可以支持多种不同的CAN设备(像 Vector, Kvaser, PCAN 等等),另一方面对总线的抽象也很好,同时提供了内置的log记录器,可以通过几行简单的代码将总线数据保存为常见的asc,csv,blf,甚至是数据库格式。

read more
使用pyinstaller打包你的桌面应用 – PyQt5教程后记
桌面应用 使用pyinstaller打包你的桌面应用 – PyQt5教程后记

当你写好一个python应用以后(有可能是命令行,有可能是GUI),你或许希望分享给他人使用,而别人可能并没有python环境,那么我们需要寻找一种方法生成可执行文件(比如Windows上的exe或macOs上的app) 当你有打包你的python应用的需求以后,你可能会像搜索引擎寻求帮助,你或许曾经搜索过“python 转 exe”,“python打包”等等这样的字眼,你或许曾看到过各种各样的相关解决方案,本文介绍的是其中的一种,但是可以负责任的说,这是目前最好的方案,并且是跨平台最好的方案,也就是说使用这个叫pyinstaller的工具,你可以把同样的代码打包在Windows,Linux以及macOs上运行。

read more
PyQt5教程5 – 最后一环,完善接收功能
桌面应用 PyQt5教程5 – 最后一环,完善接收功能

前边几篇文章中我们已经将发送和界面功能实现, 对于一个文件收发软件,它既可以是主机来发送文件,也可以作为目标机来接收文件,在这一篇文章中,我们将实现剩下所有的功能,即完成接收功能。 为了更直观的给大家展示本节的最终实现目标,我们先把实现结果的视频放在最前边,因为一台电脑不能给自己发送文件,因此,本节的测试需要使用两台电脑,并且这两天电脑需要连接到同一个局域网中。 如果大家对前边的文章有点印象不深,可以从下边传送门进入

read more
一种基于模板的C代码自动生成方法
工业汽车嵌入式 一种基于模板的C代码自动生成方法

我们将在本文中介绍一种基于Python模板引擎的自动代码生成方法 在做C代码项目的时候,我们期望做到代码的高复用,高复用意味着代码的高配置性,即通过简单的配置修改达到复用代码的目的。如果代码高复用,支持灵活的配置,那么完全可以在上边做一个更简单的配置工具,用来修改代码配置,这么做相对于提供可以配置的.c/.h源代码有一些好处: 配置转换为容易理解的GUI描述,配置人员不需要深入理解C代码即可以实现配置 如果你只是想封装一个库给你的客户,你可以同时提供这样一个建议工具,即可以保护你的核心代码,也可以让客户容易上手 然而,能够实现基于模板的自动代码的前提是,你的原始C代码要足够灵活,剩下需要做的就是根据用户的输入信息,调整某些可以修改的参数或者调用,而这些配置可以存储在一些标准的数据存储格式中(如,xml,json,甚至于数据库等等)最后解析配置数据,生成配置相关的.

read more
数据科学家的一种工作环境 – virtualenv和Jupyter Notebook
数据科学 开发环境 数据科学家的一种工作环境 – virtualenv和Jupyter Notebook

工欲善其事,必先利其器 在进行工作之前,创建一个顺手的环境是必须的,那么什么是一个顺手的工作环境呢,针对数据分析而言,我认为需要满足以下几个方面: 隔离不同的应用领域的库 – 这一条适用于所有场景,不仅针对数据分析,因为python最为强大的地方是生态,针对不同的场景,有不同的库可以满足快速开发的要求,我们不希望在数据分析的环境中安装那些无关的(比如说串口通讯)的库,因此我们需要一个隔离环境 快速调试,快速获得灵感 – 数据分析应用场景下,往往需要不停的重组,不停的画图,来帮助理解数据 趁手的编辑器 – 敲代码的时候比较高效,有贴心的快捷键,最好还能修改主题 基于以上目标后两点,在数据分析领域,普遍使用Jupyter Notebook作为环境,Jupyter Notebook是一种交互式的开发环境,用户可以选择单独运行某一段python代码,并获得输出,而代码运行的变量,对象等数据都是保存在内存中,不会释放,因此在后边继续运行其他的代码片段的时候可以访问到之前创建好的数据结构。另外,Jupyter Notebook,会将代码的数据结果(可能是表格,可能是图像,也可能是普通的打印输出)连同代码本身保存在一个后缀为ipynb的文件中,因此在什么时候打开这样的文件都能看到之前运行的结果,方便结果分享。

read more

关于 Python酷

Python之所以如此流行,在于它有强大的生态,使用各种各种的库可以帮助用户最快速的解决问题。Python酷致力于输出高质量的Python库相关教程及技术性文章,帮助用户更好更快速的解决问题