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

    SpringBoot 博客系统 后端: 框架:SpringBoot 安全框架:shiro 数据库:mysql ORM:mybaits mybaits-plus 插件:lombok 模板引擎:thyme ...

  2. 关于Iterator

    1.在迭代过程中,用list来删除元素的坑 1 package test; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 ...

  3. 大数据量查询容易OOM?试试MySQL流式查询

    一.前言 程序访问 MySQL 数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM). 其实在 MySQL 数据库中提供了流式查询,允许把符 ...

  4. Android中app开机自启动的开发

    (1)首先添加权限开机启动权限 <!--开机启动权限--> <uses-permission android:name="android.permission.RECEIV ...

  5. linux下如何看系统日志及Out Of Memery

    1.一个Out Of Memery(OOM)导致的崩溃. linux系统经常会由于资源的问题导致自己的程序莫名被杀掉,可以从linux的系统日志中找到答案: vi /var/log/message - ...

  6. 【MySQL 基础】MySQL必知必会

    MySQL必知必会 简介 <MySQL必知必会>的学习笔记和总结. 书籍链接 了解SQL 数据库基础 什么是数据库 数据库(database):保存有组织的数据的容器(通常是一个文 件或一 ...

  7. 支持向量机(SVM)原理详解

    SVM简介 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机:SVM还包括核技巧, ...

  8. 【Oracle】B-tree和函数索引

    转自:https://www.cnblogs.com/yumiko/p/5957613.html 函数索引 1.1 概述 在实际应用中,当条件列使用函数运算进行数据匹配时,即使该列建立了索引,索引也不 ...

  9. Upload - Labs (下)

    Pass - 11: 1.查看源代码,发现进行了一次对后缀名替换成空格,因此考虑双写绕过, 2.上传成功, 关键代码: $is_upload = false; $msg = null; if (iss ...

  10. ctfhub技能树—信息泄露—git泄露—Stash

    打开靶机环境 查看页面内容 使用dirsearch进行扫描 使用Githack工具处理git泄露情况 进入.git/refs目录 发现stash文件,使用notepad++打开文件 使用git dif ...