在编译脚本的时候,由于脚本的框架是统一写好的,于是乎用上了拼接字的功能, 本脚本实现的是波特率设置的自动化,利用的是正则表达式,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 拼接字的更多相关文章

  1. python学习:随机数的产生,随机数拼接字在脚本中的应用

    学习random的时候,看到一份表格觉得不错,转载记录到自己的笔记中: random以及它们在numpy.random中对应的函数应该会很有帮助: 注意:NumPy专门用于构建和操作大型多维数组.如果 ...

  2. 使用python拼接多张图片.二三事

    前几日在博客上看到一篇“使用python拼接多张图片”的Blog[具体是能将的图片名字必须是形如xx_1.png ... xx_100.png或者xx_001.png ... xx_100.png,拼 ...

  3. python拼接字符串方法汇总

    python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 这种方式最常用. ...

  4. python拼接字符串

    python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello' + ' ' + 'World' + '!' print(s) 输出结果:Hello World! 使用 ...

  5. Python拼接字符串的七种方式

    忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...

  6. Python 拼接字符串的几种方式

    在学习Python(3x)的过程中,在拼接字符串的时候遇到了些问题,所以抽点时间整理一下Python 拼接字符串的几种方式. 方式1,使用加号(+)连接,使用加号连接各个变量或者元素必须是字符串类型( ...

  7. python之字串

    python字串声明: 单引('), 双引("), 三引(''' 或 """"). python字串前缀: r表示原生字串, 字串内容: (1)不能包 ...

  8. python拼接变量、字符串的3种方法

    第一种,加号(“+”): print 'py'+'thon' # output python str = 'py' print str+'thon' # output python 第二种 ,空格: ...

  9. python 井字棋(Tic Tac Toe)

    说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...

随机推荐

  1. 嵌入式LInux-让开发板访问外网-ping bad address baidu.com

    我的嵌入式设备已经接入网络.能够ping局域网ip.可是为了实现能够ping通外网.比如 ping baidu.com 还是不行的. 当运行ping baidu.com这个命令时,提示 ping ba ...

  2. SpringBoot项目 @Value("${}") 引入的配置文件的变量不生效 , 需要重启服务才生效解决方案

    最近在开发项目的时候遇到的问题,有的变量需要能动态修改,于是决定把该常量放在配置文件中,以后修改配置文件就行了,但是在修改了配置文件的数据之后获取的还是之前的数据,需要重启服务才生效,怎么决解这个问题 ...

  3. python实现AES/DES/RSA/MD5/SM2/SM4/3DES加密算法模板汇总

    都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy 一.md5加密 1.简介 这是一种使用非常广泛的加密方式,不 ...

  4. JavaDailyReports10_14

    1 package Test; 2 3 import java.util.Scanner; 4 5 public class Main { 6 7 public static void main(St ...

  5. CI持续集成理论知识

    (1)什么是CI What is CI? CI就是持续集成,持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过 ...

  6. 第十八章节 BJROBOT 安卓手机 APP 建地图【ROS全开源阿克曼转向智能网联无人驾驶车】

    1.把小车平放在地板上,用资料里的虚拟机,打开一个终端 ssh 过去主控端启动roslaunch znjrobotbringup.launch 2.在虚拟机端再打开一个终端,ssh 过去主控端启动ro ...

  7. 基于Python的接口自动化实战-基础篇之pymysql模块操作数据库

    引言 在进行功能或者接口测试时常常需要通过连接数据库,操作和查看相关的数据表数据,用于构建测试数据.核对功能.验证数据一致性,接口的数据库操作是否正确等.因此,在进行接口自动化测试时,我们一样绕不开接 ...

  8. System类常用方法

    System类常用方法 public static long currentTimeMills() 获取当前系统时间,以毫秒值为单位的当前时间. public static void arraycop ...

  9. 知识图谱和neo4j的基本操作

    一.知识图谱的简介 1.知识图谱是什么 知识图谱本质上是语义网络(Semantic Network)的知识库 可以理解为一个关系图网络. 2.什么是图 图(Graph)是由节点(Vertex)和边(E ...

  10. 快速了解JavaScript的基础知识

    注释 单行注释: // 单行注释 多行注释: /* 多行 注释 */ 历史上 JavaScript 可以兼容 HTML 注释,因此 <!-- 和 --> 也可以是单行注释. x = 1; ...