在编译脚本的时候,由于脚本的框架是统一写好的,于是乎用上了拼接字的功能, 本脚本实现的是波特率设置的自动化,利用的是正则表达式,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. 数据库事务特性ACID

    事务 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit).在计算机术语中,事务通常就是指数据库事务. 概念 一 ...

  2. springboot项目Invalid bound statement (not found): com.xxxx.dao.xxxDAO.xxx解决方法

    1.首先判断自己的Dao和mapper的对应关系,注意要一一对应的. 2.配置信息出现问题,注意配置信息填写: 3.记住要细心细心,细心,重要的事情说三遍.

  3. 并发编程之JMM&Volatile(一)

    并发 很多程序员应该对并发一词并不陌生,并发如同一把双刃剑,如果使用得当,可以帮助我们更好的压榨硬件的性能,反之,也会产生一些难以排查的问题.这里,先简单介绍下并发的几个基本概念. 进程与线程 进程: ...

  4. Phoenix-4.14-cdh5.14.2与hbase-1.2.0-cdh5.14.2集成测试

    Phoenix介绍: 针对hbase开发的第三方插件,目前已贡献给Apache,顶级项目    Phoenix是构建在HBase上的一个SQL层  可以使用类似于操作mysql的标准sql语句,作为h ...

  5. node.js中使用http-proxy-middleware请求转发给其它服务器

    var express = require('express');var proxy = require('http-proxy-middleware'); var app = express(); ...

  6. Flutter 基础组件:按钮

    前言 Material组件库中提供了多种按钮组件如RaisedButton.FlatButton.OutlineButton等,它们都是直接或间接对RawMaterialButton组件的包装定制,所 ...

  7. python模块/文件/日期时间

    文件操作:

  8. ASP.NET Core - JWT认证实现

    一.JWT结构 JWT介绍就太多了,这里主要关注下Jwt的结构. Jwt中包含三个部分:Header(头部).Payload(负载).Signature(签名) Header:描述 JWT 的元数据的 ...

  9. MybatisPlus多数据源及事务解决思路

    关于多数据源解决方案 目前在SpringBoot框架基础上多数据源的解决方案大多手动创建多个DataSource,后续方案有三: 继承org.springframework.jdbc.datasour ...

  10. iptables原理及防火墙规则语法基础

     Iptables 防火墙 学习总结: 三张表介绍: filter负责过滤数据包,包括的规则链有,input(进),output(出)和forward(转发); nat则涉及到网络地址转换,包括的规则 ...