自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 python实用脚本2:批量重命名文件

前言工作中经常有重命名大量文件的需求,因此可以考虑用程序来一键完成。这个功能比较简单,可以多收集几种版本来测试一下~~Python使用os.listdir()方法返回当前目录下的所有文件名,对每一个文件名字符串用str.replace()f方法做替换操作,然后用os.rename()方法重命名。import osdes_name = 'XXX'src_name = 'xxx'fo...

2020-03-15 22:37:02 1798

原创 python实用脚本1:一键发送上下班打卡邮件

试着写成文档格式~~~,写着玩哈,别喷!需求来源疫情期间,公司要求每天上下班邮件打卡,由于重复性强,且内容基本不变,可以考虑用程序一键完成。需求描述能一键完成,明显节省时间主送人和抄送人固定为XXX主题内容:年月日+部门+姓名+到/离岗,姓名由用户从命令行输入,其它内容要自动给出。例:2020年03月08日-软件开发部-寒尘-离岗正文内容固定为“上下班打卡”实现逻辑用户通过b...

2020-03-08 20:56:10 595

原创 《Python编程快速上手》读书笔记7:模式匹配和正则表达式

本系列笔记只记录python3和C语言的差异之处由此开始本书进入第二部分——自动化任务1 用正则表达式查找文本模式1.1 创建正则表达式对象python所有有关正则表达式的函数都在re模块中,因此要记得在使用前导入re模块import re向re.compile()传入一个字符串值, 表示正则表达式,它将返回一个Regex对象。如果需要匹配类似029-123-4567这样的电话号码,...

2020-03-01 22:17:27 176

原创 《Python编程快速上手》读书笔记6:字符串操作(二)

本系列笔记只记录python3和C语言的差异之处1 口令保管箱编写一个口令管理器程序,利用一个主控口令解锁口令管理器,然后取得其中保存的其它账户的口令,并复制到剪贴板中。1.1 程序设计和数据结构程序要实现的功能:利用命令行参数,将某个账户的口令复制到剪贴板中。类似于:python pw.py email 数据结构:将账号和口令存放为字典数据类型password = {'email...

2020-02-22 19:07:48 169

原创 《Python编程快速上手》读书笔记6:字符串操作(一)

本系列笔记只记录python3和C语言的差异之处1 处理字符串1.1 字符串字面量正常情况下字符串以单引号开始单引号结束,那如果要在字符串中输入单引号呢?比如:‘that is Alice’s cat’。这就需要其它几种方法来输入字符串。>>> 'that is Alice's cat'SyntaxError: invalid syntax1.2 双引号也可以在用...

2020-02-09 18:37:28 163

原创 《Python编程快速上手》读书笔记5:字典和结构化数据(二)

本系列笔记只记录python3和C语言的差异之处使用数据结构对真实世界建模1 井字棋盘井字棋盘看起来像是一个大的井字符号(#),有9块空地,分别可以放X、O和空(没放棋子时为空),当某一方连成一条线时即赢。用一个简单的表格来代表棋盘~~1.1 首先用9个字符串(键)来代表每一处空地top-Ltop-Mtop-Rmid-Lmid-Mmid-Rlow-Ll...

2020-02-06 23:08:24 176

原创 《Python编程快速上手》读书笔记5:字典和结构化数据(一)

本系列笔记只记录python3和C语言的差异之处1 字典数据类型字典和列表类似,是许多值的集合,用花括号{}表示。字典的数据以“键:值”对的形式存在,键类似于列表的下标,但却可以自定义内容且显式存在,而不像列表那样是隐式的以0开始的整数。键可以是你想要的任意值字典没有顺序的概念,比较两个字典是否一样时,不关注顺序,只关注键值对的内容是否一致访问不存在的键会导致KeyError错误可以...

2020-02-04 19:45:40 226

原创 《Python编程快速上手》读书笔记4:列表(二)

本系列笔记只记录python3和C语言的差异之处1类似列表的类型:字符串和元组字符串可以看成单个文本字符的列表,对列表的许多操作,也可以作用于字符串:按下标取值、切片、、用于for循环、用于len()、以及用于in和not in操作符。>>> name = 'hanchen'>>> name[0]'h'>>> name[-2]'e...

2020-02-03 23:34:38 111

原创 《Python编程快速上手》读书笔记4:列表(一)

本系列笔记只记录python3和C语言的差异之处列表数据类型列表类似于C语言中的数组,但由比数组强大很多。列表可以放任何数据,而不是单一数据可以用负数下标倒着取值可以利用切片取得多个值(子列表)可以用len(list)取得list的长度可以用+和*实现列表连接和列表复制可以用del语句从列表中删除值使用列表...

2020-01-26 23:39:52 145

原创 《Python编程快速上手》读书笔记3:函数

本系列笔记只记录python3和C语言的差异之处defpython中所有的函数,都由def关键字定义,你无法在程序开头判断出函数的返回值类型,最后return的什么类型的数据,它就是什么类型的函数。def hello(name): if name == 'hanchen' or name == 'yuren': print('hi,' + name + ' welco...

2020-01-18 20:38:51 123

原创 《Python编程快速上手》读书笔记2:控制流

本系列笔记只记录python3和C语言的差异之处not操作符‘not’对应于C语言中的逻辑非‘!’,可以嵌套使用,虽然这并没有什么实际意义~~elif语句elif = else iffor循环和range()函数python中的for循环和C语言差异较大,和shell脚本倒是更相似一点。来看一个简单的例子。求1加到100的总和用sys.exit()提前结束程序在python...

2020-01-12 17:37:57 149

原创 《Python编程快速上手》读书笔记1:python基础

本系列笔记只记录python3和C语言的差异之处数据类型python中常见的数据类型有整型、浮点型和字符串:数据类型例子整型-2,-1,0,3浮点型-1.25,-1.0,0.0,0.5字符串‘a’,‘abcd’,‘hello’字符串连接和复制‘+’操作符可以连接两个字符串,‘*’操作符可以复制字符串。注释pyhon中用以#号开头的行即为注...

2020-01-12 16:44:23 213

原创 《C程序设计新思维》读书笔记1:makefile中常用shell命令

1 前言Autotools是一个为给定系统自动产生完美makefile的系统。因此要了解Autotools我们得先了解什么是makefile。makefile用来组织大型项目中的编译工作,解决项目中的库和代码的复杂依赖关系,类似于一种自动编译的shell脚本,一般搭配make工具一起使用。具体的内容可以学习一下博客园的Makefile使用总结。2 shellmakefile自身的语法虽然较...

2020-01-05 17:34:54 219

原创 C语言刷LeetCode:简单篇:有效的括号

题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输...

2019-06-28 12:52:54 611 2

原创 ESP32开发(8):esp32_homekit

前言homekit是苹果公司的智能家居平台,可以将第三方智能产品对接到苹果的产品中,如iPhone,iPad等。今天,我们学习如何将一个开关通过homekit协议,加入到iPhone手机中,以实现手动控制或Siri语音控制Led灯的亮灭。前人栽树后人乘凉,感谢git上的小哥开源自己的程序,源码地址esp32-homekit。注意:readme.md中的Setup Code是错误的,应该是053...

2019-06-06 12:11:49 4419 1

原创 ESP32开发(7):RTC内存——备份寄存器

说明开发产品时,我们可能需要对程序做一些错误处理,比如在必要时进行软件复位,但是我们又不想复位某些重要的寄存器值,这时,我们就需要用到备份寄存器。ESP32在深度睡眠下,RTC外设依然可以正常工作,那我们是否可以尝试将一些非常重要的数据备份到RTC内存中呢?当程序运行错误,需要进行软件复位时,这些数据不会随着主CPU复位而产生丢失。程序验证思路很简单,当第一次读取RTC_MEMORY_CR...

2019-06-06 09:53:09 3271

原创 ESP32开发(6)esp-adf:百度语音识别

前言本例程基于官方例程esp-adf/example/speech_recognition/asr修改而来。asr例程是一个本地语音识别例程,已经帮助我们读取到了所需要的原始语音数据,我们只要稍作修改,将它通过HTTP协议上传到百度语音识别接口,就可以实现语音识别啦。准备工作开发环境:Linux-Ubuntu16开发平台:ESP32_LyraT开发板。这款开发板上面的模组是ESP32-WR...

2019-06-05 22:23:29 9168 6

原创 C语言刷LeetCode:简单篇:最长公共前缀

题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解题思路题解#include <stdio...

2019-05-15 20:30:17 3229 1

原创 C语言刷LeetCode:简单篇:罗马数字转整数

题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数...

2019-05-13 21:50:45 1543 1

原创 C语言刷LeetCode:简单篇:回文数

题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:...

2019-05-11 18:52:36 635

原创 C语言刷LeetCode:简单篇:整数反转

题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入:123输出:321示例 2:输入:-123输出:-321示例 3:输入:120输出:21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231-1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解题思路先在本子上画一画,找到原数字...

2019-05-11 17:34:45 397

原创 C语言刷LeetCode:简单篇:两数之和

题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]注这是我刷的第...

2019-05-11 16:25:29 844

原创 51单片机:汇编改C语言(一)

之前答应给同学帮忙做毕设,想着应该很简单。结果老师给了他一份汇编程序,由于自己之前做过汇编编程的工作,就胆(no)大(zuo)妄(no)为(dai)的说是给他翻译成C语言的。当我仔细瞅了那份程序之后。额,好吧,我只能说我尽力而为吧!东西只有一篇近2000行的汇编程序和一份原理图,程序中无任何变量,需要变量或者是标志位时,直接操作一个RAM地址,子程序起名也是相当佛系。目前我只注释了一小部分的程...

2019-05-11 16:09:01 5383

原创 ESP8266开发(1):Ubuntu+VScode的开发环境

本教程基于ESP8266_RTOS_SDK(V3.0)前两天,闲得时候,想玩玩ESP8266,毕竟一代神U,了解了解总没有错的。经过一番折腾,发现这玩意的开发过程跟ESP32大同小异,在此略作记录。在乐鑫更新V3.0版本之后,esp8266的开发框架基本上就和esp32相同了,学会了一个另外一个也就差不多了。感兴趣的小伙伴可以先看看这个教程:ESP32开发(1):搭建Linux下的开发环境...

2019-03-30 16:58:20 2194 1

原创 ESP32开发(5):搭建Linux下VScode开发环境

此教程主要用来补充第一章,第一章我们已经搭建好了ESP32在Ubuntu下的编译环境,但是没有一个趁手的编辑环境。当然了我们可以一边打开终端编译程序,一边打开gedit或者vim编写程序,但是这种方式,对于我们这些熟悉了Windows下编程的小萌新来说,简直难受的要死,经过我多番寻找和尝试,终于发现了VScode这款编程神器。先来感受一下界面安装VScodeVScode是微软出的一款轻量且...

2019-03-30 15:07:11 6363 2

原创 ESP32开发(4):构建自己的工程

ESP32开发初学者,文章内容纯属个人经验,有错误在所难免,望见谅!最小工程ESP32通过Makefile和component.mk编译和组织工程文件。下图是一个最小的可编译的工程框架我们来看各个文件的内容component.mk## &amp;amp;amp;amp;amp;amp;quot;main&amp;amp;amp;amp;amp;amp;quot; pseudo-component makefile.## (Uses default behaviour of

2019-02-02 08:49:17 13589 15

原创 ESP32开发(3)esp-adf:百度语音合成测试例程

准备工作在测试这个例程之前,我们需要在百度AI开放平台创建一个语音合成的应用。登录用百度账号就可以,不用重新注册。选择语音识别或者语音合成立即使用创建一个应用创建成功后,查看应用详情记录下API key和Secret Key,后面要用到。测试pipeline_baidu_speech_mp3例程进入/esp-adf/examples/cloud_services,将pip...

2019-01-30 16:01:41 6501 1

原创 ESP32开发(2)esp-adf:play_mp3例程简单分析

esp-adf此套框架提供了一种使用流、编解码器和音频处理函数等元件开发音频应用程序的方法。该框架是通过将元件组合成管道来开发音频应用程序。如下图所示:将MP3解码器和I2S流两个元件添加进音频管道,解码器的输入是MP3文件数据流,I2S流将解码后的音频数据输出到片外,各应用程序之间通过事件接口通信。play_mp3_example.cget-started / play_mp3是此...

2019-01-29 19:49:50 5052

原创 ESP32开发(1):搭建Linux下的开发环境

ESP32开发(一):搭建Linux下的开发环境你需要安装所依赖的软件包安装交叉编译链安装esp-idf安装依赖的python软件包测试例程此教程完全参考乐鑫官方网站:快速入门——ESP-IDF 主要针对和我一样第一次在Linux上开发的小伙伴。在此基础上加入自己的理解和躺过的一些坑。你需要1、一个ESP32开发板及一根MicroUSB线。2、Linux操作系统:Ubuntu16.安装所...

2019-01-29 18:31:59 7043 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除