python 拼接字
在编译脚本的时候,由于脚本的框架是统一写好的,于是乎用上了拼接字的功能, 本脚本实现的是波特率设置的自动化,利用的是正则表达式,TASK函数是统一写好的,此处只做调用
from Args import Args
import time
cz_IPR = [9600,19200,38400,57600,115200] # 此模组支持的波特率范围
s1 = 'AT+IPR=' #拼接字的其中一个字符串
cmds = [
Args(request="AT",regex="^\r\nOK\r\n$",retry_limit=3,can_skip=True),
]
reboot = [
Args(request="AT+CFUN=1,1",regex=r"^\r\nOK\r\n$",delay=20,can_skip=True),
Args(request="AT",regex="^\r\nOK\r\n$",retry_limit=3,can_skip=True),
]
if __name__ == "__main__" or True:
from task import Task
Task(cmds).execute()
for n in range(10): # 循环执行波特率设置次数
for i in cz_IPR:
print(i)
s2 = i #拼接字的另外字符串
cz_iprset = [Args(request='{}{}'.format(s1, s2), regex="^\r\nOK\r\n$", can_skip=True)] # 此处采用的是拼接字符串的format()拼接方式,通过for循环来赋予不同波特率来循环配置
Task(cz_iprset).execute()
Task.update_baudrate(i)
time.sleep(10)
Task(cmds).execute()
Task(reboot).execute()
Task.update_baudrate(115200) # 更新串口波特率的功能
time.sleep(5)
由于脚本用到了拼接字的功能,于是学习顺带学习了python中的相关拼接子的应用:
1、format()的拼接方式介绍:
例如:
# format 拼接方式:使用花括号{}做占位符,在format方法中再转入实际的拼接值
'''方式一'''
s1 = 'AT+IPR='
s2 = 9600
request='{}{}'.format(s1, s2)
print(request) #打印结果:AT+IPR=9600
'''方式二'''
request = '{str1}{str2}'.format(str1 = 'AT+IPR=',str2 = 9600) #
key-value的方式
print(request) #打印结果:AT+IPR=9600
request ='{0}{1}'.format('AT+IPR=',9600) # 序号的方式
print(request)
上例中,方式一的花括号中无内容,缺点是容易弄错次序。方式二,一种传入序列号,一种则使用key-value的方式。实战中,我们更推荐方式二
2、'''来自C语言的%'''
cmd = '%s%d'%('AT+IPR=',9600)
print(cmd)
3、'''() 类似元组方式'''
s_tuple = ('Hello', ' ', 'world')
s_like_tuple = ('Hello' ' ' 'world')
print(s_tuple) #('Hello', ' ', 'world')
print(s_like_tuple) #Hello world
print(type(s_like_tuple)) #<class 'str'>
这种方式看起来很快捷,但是,括号()内要求元素是真实字符串,不能混用变量,所以不够灵活
4、'''面向对象模板拼接'''
from string import Template
s = Template('${s1} ${s2}!')
print(s.safe_substitute(s1='Hello',s2='world'))
5、'''常用的+号方式'''
str_1 = 'Hello world! '
str_2 = 'My name is Python猫.'
print(str_1 + str_2)
print(str_1)
python 拼接字的更多相关文章
- python学习:随机数的产生,随机数拼接字在脚本中的应用
学习random的时候,看到一份表格觉得不错,转载记录到自己的笔记中: random以及它们在numpy.random中对应的函数应该会很有帮助: 注意:NumPy专门用于构建和操作大型多维数组.如果 ...
- 使用python拼接多张图片.二三事
前几日在博客上看到一篇“使用python拼接多张图片”的Blog[具体是能将的图片名字必须是形如xx_1.png ... xx_100.png或者xx_001.png ... xx_100.png,拼 ...
- python拼接字符串方法汇总
python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 这种方式最常用. ...
- python拼接字符串
python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello' + ' ' + 'World' + '!' print(s) 输出结果:Hello World! 使用 ...
- Python拼接字符串的七种方式
忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...
- Python 拼接字符串的几种方式
在学习Python(3x)的过程中,在拼接字符串的时候遇到了些问题,所以抽点时间整理一下Python 拼接字符串的几种方式. 方式1,使用加号(+)连接,使用加号连接各个变量或者元素必须是字符串类型( ...
- python之字串
python字串声明: 单引('), 双引("), 三引(''' 或 """"). python字串前缀: r表示原生字串, 字串内容: (1)不能包 ...
- python拼接变量、字符串的3种方法
第一种,加号(“+”): print 'py'+'thon' # output python str = 'py' print str+'thon' # output python 第二种 ,空格: ...
- python 井字棋(Tic Tac Toe)
说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...
随机推荐
- DRF之访问权限控制和访问频率控制(节流)
权限控制 前言 用户验证用户权限,根据不同访问权限控制对不同内容的访问. 建议了解视图.token验证的内容. 使用流程 自定义访问权限类,继承BasePermission,重写has_permiss ...
- Netty学习之IO模型
目录 1.1 同步.异步.阻塞.非阻塞 同步 VS 异步 同步 异步 阻塞 VS 非阻塞 阻塞 非阻塞 举例 ...
- PHP 爬取图片 保存本地
public function getImage($url,$filename='') { if($url == ''){ return false; } if($filename == ''){ $ ...
- JAR冲突问题的解决以及运行状态下如何查看加载的类
今天碰到群里小伙伴问,线上程序好像有多个不同版本的Netty包,怎么去看到底加载了哪一个? 在说如何看之前,先来说说,当你开始意识到项目里有多个不同版本的Jar包,都是因为遇到了这几个异常: java ...
- 【Web】block、inline、inline-block元素与background属性概述(案例实现社交账号注册按钮效果)
步骤三:社交账号注册按钮效果 文章目录 步骤三:社交账号注册按钮效果 案例的演示与分析 CSS属性与HTML标签 块级元素 内联元素 行内块级元素 CSS的display属性 CSS中的背景图片属性 ...
- kubernets之headless
一 认识headless服务 1服务以及服务的作用相信大家都已经耳熟能详了吗,服务接受请求,并且随机的将请求转发到相关联的任一pod来处理请求,但是考虑另外一种场景, 如果有客户端需要知道这个服务关 ...
- maven打包项目
使用maven可以对项目进行很方便的管理,方便体现之一便是项目的打包发布变得方便,本文主要是讲一下maven打包时的一些命令和注意事项(皆是自己从应用中总结的理解,或有不对之处). maven项目打包 ...
- CTFshow萌新赛-萌新福利
下载链接文件 拿到show.bin文件 使用010Editor工具打开文件 做取反操作 取反后可以看到 把show.bin改为show.m4a 使用音频播放软件播放,即可得到flag
- 【Not BUG】微软Winform窗体中设计上的Bug,会导致程序编译失败?不,这不是BUG!
这不是BUG!!! 原文地址: https://www.cnblogs.com/thanks/p/14302011.html 现在让我们回忆一下原文 原文的操作步骤: 1. 新建一个Window Fo ...
- LuoguP5075 [JSOI2012]分零食
题意 有\(A\)个人,\(m\)个糖,你可以选择一个\(k\),使第\(1\)$k$个人每个人至少得到一个糖,并且第$k+1$\(A\)个人都得不到糖.\(m\)个糖必须给完.对于每个方案都有一个欢 ...