• 用法如下:

    用法如下:



    %s可以格式化字符串


    类似的,还有:

    1.整数:%d



    2.浮点数:%f

    (%.2f  则指保留两位小数点)

    3.指定占位符宽度:%ns  (n即占位符宽度)



    展开全文
  • 一、%s:代表string 字符串 print ("today is %s" %“星期二”) string ="I want your" print("out=%s" %string) 注:打印字符串 “I want your” string ="I want your" print("out=%s len%d" %(string ,len(...

    一、%s:代表string 字符串

    print ("today is %s" %“星期二”)

    string ="I want your"
    print("out=%s" %string)
      注:打印字符串 “I want your”
    
    string ="I want your"
    print("out=%s len%d" %(string ,len("I want your")))

     注: len 代表长度 ,d为整型(int)

    string ="I want your"
    print("out=%20s len%d" %(string ,len("I want your")))

     注: %20s ,代表长度为20字符串输出  ,如果string 长度不足,会用“空格”自动补齐站位

    string ="today is fine"
    print("out=%.3s " %(string))
    

      注:“ .3” ,代表截取前3个字符,记住有“.”+“3”才可以

    二、%d:代表int 整型

    num=123456
    print("out=%d " %(num))

      注:大家数值“123456”

    num=123456
    print("out=%3d" %(num))

     注:打印数值为3位,原数据如果大于3位,输入原数据:123456

    num=123456
    print("out=%.7d" %(num))

       注:%.7d 打印整型数值为7位,不足用0占位

    三 、%f  代表浮点

    num=123456
    print("out=%f" %(num))

     注:%f 打印浮点,精度默认为5位

    num=123456.789012
    print("out=%.2f" %(num))

     注:%.2f 小数保留两位小数,没有用0占位

    import math
    print("out=%10f" %(math.pi))

     注:打印10位数,没有用空格占位

    四、%r  万能统配符

    num=0.123456
    print("out=%.4r" %(num))

    num=123456
    print("out=%8r" %(num))

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 1.%s是什么 %s,表示格式化一个对象为字符,常用使用语句示例如下: username = "happygirl" print("hi %s, hello world!" % (username)) 2.python中的% 在python中%是一个格式化字符,如果需要输出%则需要写...

    1.%s是什么

    %s,表示格式化一个对象为字符,常用使用语句示例如下:

    username = "happygirl"
    print("hi %s, hello world!" % (username))

     

    2.python中的%

    在python中%是一个格式化字符,如果需要输出%则需要写成%%

     

    3.模糊查询like

    sql模糊查询like包括%,如果同时还需要使用%s,此时模糊查询应写成like '%%%s%%',依然会报错:TypeError: not enough arguments for format string,因为python在执行sql语句的时候同样需要格式化%,即使用%%代替%,所以正确使用示例如下:

    username = "happygirl"
    sqlstr = '''
            select * from table
            where username like '%%%%%s%%%%'
            ''' % (username)
    print(sqlstr)

    至此完美解决问题

    展开全文
  • 前言:我的学习进度其实没有那么快的,因为现在是网络工程师实习,只有晚上一点时间和周末有空,所以周一到周天的学习进度很慢,今天所以突然跳到通配符是因为工作需要,大体讲一下我的工作需求:网络工程师就是写...

    前言:我的学习进度其实没有那么快的,因为现在是网络工程师实习,只有晚上一点时间和周末有空,所以周一到周天的学习进度很慢,今天之所以突然跳到通配符是因为工作需要,大体讲一下我的工作需求:网络工程师就是写脚本然后导入不同的网络设备中,我现在有一份现网正在使用的设备的命令,需要更换新的设备,但新设备跟旧设备(现网中正在使用的)不是同一个厂家的,导致他们的命令不兼容(知识,大体内容是一样的),所以我需要把旧设备中的Mac地址啦,ip啦,网关等全部提取出来并插入到新的命令模式中,现在开始完成上述需求(简单的,只包含一点关于IP-MAC绑定的,用于DHCP自动分配ip地址时可以根据PC的MAC和VLAN来获取特定的IP)

    效果图:

    旧设备中命令格式:

    变动的大体形式:

    原:

    ip source binding 0000-0000-0014 vlan 20 1.1.1.14 interface FastEthernet 0/14

    新:

    int g1/0/14
    ip source binding ip-address 1.1.1.14 mac-address 0000-0000-0014 vlan 20

     

    源代码:

    import re
    f = open('C:/Users/Shinelon/Desktop/ceshi.txt','r',encoding = 'utf-8')
    x = (f.readlines())
    for i in range(0,51):
    s = x[i]
    mac = re.findall('.{4}-.{4}-.{4}', s)
    ip = re.findall('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', s)
    inter = re.findall('0/\d{1,2}', s)
    vlan = re.findall('vlan \d\d', s)
    inter = ''.join(inter)
    mac = ''.join(mac)
    vlan = ''.join(vlan)
    ip = ''.join(ip)
    print("int g1/%s" % inter)
    print("ip source binding ip-address %s mac-address %s %s" % (ip, mac, vlan))

     

    f.close()

    解析:

    正则表达式,学网络的时候接触过,但比较浅,今天重新看了下各命令的含义,第一次写,有些可以精简的地方我都没精简,一个是太晚了没时间,另一个就是能力有限,多多包涵。

    整体思路,从原文件中逐行取出,试了好几次,才弄好格式问题,必须txt,用word文档会报编码错误,pycharm默认的好像是uef-8,而word是gbk,导致不兼容,总之还得改软件的编码方式,我嫌太麻烦,同一使用txt,也挺方便的。然后就是读取文件的格式,应该是open函数固定的,‘r’是指的只读,不往文档中写(f.close()是我写博客的时候刚加的,不知道对不对,就是关闭流,不关问题不大,报错就网上查查命令或删除)。读取是readlines()(readline()没有s只读一行)读到文件尾,返回值是列表,且一次性读出(可以用循环,那样就要用readline()一行一行的读)。然后通过创建“s”字符串和for循环来一个一个的处理文件列表的内容,之所以要用字符串是因为通配符只支持处理字符串!且通配符处理后的返回值为列表。至于通配符规则,有点长也有点多,网上不少,可自行百度,我这里只提供思路。通配符匹配想要的数据(我这里提取了ip地址,mac地址,所属vlan,在哪个接口下),然后分别用不同的列表承接这些值用于方便打印。需要注意的是,这里的列表不需要加索引,加了会报错,我也是搞了半天,因为这个列表是在for循环中的,每一次循环都相当于重新赋值创建,所以不存在说列表会增长,直接打印全部即可(可在循环外建列表,在循环内通过append方法增加列表长度)。另一个需要注意的是,因为是列表,打印出来会带着“['']”,就很烦,不是我想要的命令那种一体化的,所以在这里我又查找到了join方法,属于列表常用方法,就是新建字符串(我特意看了下类型,下面有图说明),让字符串赋值:列表,并改变列表的分隔符(默认是单引号加逗号)为join前面单引号内的参数(可以为空None)。我去,突然想到我前面最后一句打印的其实不是列表而是字符串,这样的话直接打印完整的一串毫无问题,前面的疑问解决,还是多总结的好啊,能发现不足,完善自己!

    Join方法:

    (请忽略那几个报错,是因为最后的括号是中文输入法的括号不识别报的错)

    转载于:https://www.cnblogs.com/zhurs/p/11538221.html

    展开全文
  •  我们都知道python的%通配符有:%d(整型),%s(字符型),%f(浮点型)。那么关于时间date的类型呢?  比如:我的项目要往数据库中插入create_time和update_time,那就势必要引用现在的系统时间,经过大量的查找...

         这几天几天刚刚学习python,就动手练习了一下,主要是关于mysql数据库方向的。


         我们都知道python的%通配符有:%d(整型),%s(字符型),%f(浮点型)。那么关于时间date的类型呢?


        比如:我的项目要往数据库中插入create_time和update_time,那就势必要引用现在的系统时间,经过大量的查找,终于发现往python是没有对应时间datetime的相关通配符的,那么我们要怎么实现呢。


       其实很简单,我们只需要把datetime转换成字符串类型的就行


       我的代码如下:

     

    def insertIntoChannel(self, user):
            conn = JDBCUtils.getConnection()
            cursor = conn.cursor()
            dt=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            cursor.execute("insert into user(id,age,name,create_time,update_time) \
                          values('%d','%d','%s','%s','%s')" % \
                           (user.getId(),user.getAge(), user.getName(),dt,dt))
            cursor.close()
            conn.commit()
            conn.close()
    
      

        具体实现就是这样,希望对大家有所帮助。

    展开全文
  • 第一次的代码,想通p来吻合s,想通过p[i]是’*‘还是’?'来改变指针i和s1,如果遇到※?组合需要接着移动指针i,当遍历完p之后如果也恰好遍历完s,那么返回True 但是失败了 i=0 s1=0 k=0 if len(s)==0 or ...
  • 本文首发于Ray’s Blog exec()函数的作用:动态执行python代码。也就是说exec()可以执行复杂的python代码,而不像eval()函数那样只能计算一个表达式的值。 【转】https://www.jianshu.com/p/3cf0a649e7bc 举一个...
  • 本文和大家分享的主要是python中字符串搜索与匹配相关内容,一起来看看吧,希望对大家学习python 有所帮助。  字符串是python中常见的一种对象,使用的方法也很简单,只需要用引号引起来就可以看做是一个字符串...
  • 阅读目录1 扫盲2 通配符详细介绍 3 实例背景:在linux使用过程中,经常需要查找文件,对命令中的通配符pattern和正则表达式... S h e l l提供了一套完整的字符串模式匹配规则,或者称为元字符,当s h e l l遇...
  • 传统的 Python 教程 我见过很多的 Python 讲解教程和书籍,它们大都这样讲 Python: 先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和...
  • from bottle import (run, route, get, post, default_app, Bottle) @route('/', method='GET') @route('/index') def hello(): return 'hello, word!' """ bottle的动态r...
  • 一、正则表达式1. 定义正则表达式 (regular expression)是一种非常强大的字符串操作工具。啥是“正则”呢,瞅着汉字审视半天也没想明白到底是啥意思,还是看看它的英文本体长啥样吧:“regular expression”?...
  • argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。 argparse模块的作用是用于解析命令行参数, 例如 python parseTest.py input.txt output.txt --user=...
  • 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构:Python 数据结构 Python:模块:Python 模块 Python:输入和输出Python 输入和输出 ...
  • python学习笔记复杂程序组织 1.关于模块导入 import 模块名 import 模块名 as 新名字#对导入的模块名重新命名 from 模块名 import 函数名 2.导入自己编写的模块 1)自己编写的模块跟当前的模块在同一目录下...
  • python学习日志7

    2016-12-13 15:57:34
    leetcodewildcard matching解法 这个是通配符的匹配与实现,只用到*,?两个字符 第一次思考恶个问题,用到了函数递归方法,即先将判断出*的字符串截取,继续调用isMatch()这个函数 class WildcardMatching...
  • 这篇文章主要介绍了Python字符串中删除特定字符的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 分析 在Python中,字符串是不可变...
  • python中再次偶遇,那就再来好好学习一番。  首先是通配符,点号(.)可以匹配除了换行符之外的任意一个字符,'.ython’可以匹配’python‘也可以匹配’jypthon‘。注意点号是匹配一个字符,不能使空更
1 2 3 4 5 ... 20
收藏数 4,668
精华内容 1,867