欢天喜地接元宝python_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)) #

这种方式看起来很快捷,但是,括号()内要求元素是真实字符串,不能混用变量,所以不够灵活

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值