美文网首页
python小程序集合

python小程序集合

作者: 亲爱的孟良 | 来源:发表于2016-10-28 11:22 被阅读83次

    获取随机唯一验证码

    import random
    import string
    def activation_code(id,length=10):
        prefix = hex(int(id))[2:]+'M' 
        length = length-len(prefix)
        chars = string.ascii_letters+string.digits
        return prefix + ''.join([random.choice(chars)for i in range(length)])
    def get_id(code):
        return str(int(code.upper(),16))
    if __name__=='__main__':
        for i in range(10,500,35):
            code = activation_code(i)
            code_id = code.split('M')[0]
            id = get_id(code_id)
            print (code,id)
    
    • 关键:随机且唯一,用数字和字母组合,参考网上的写法,就是用数字加分隔符加随机字符串的形式,这样写可以保证唯一,前面的数字转成16进制,然后取0x后面的部分,再加一个分隔符,这样存的时候可以直接找到,保证唯一,简单有效。<p>join([random.choice(chars)for i in range(length)])这个看上去乱七八糟的参数,是一个列表生成器。

    统计某文件下写过多少行文件and注释

    • 关于glob模块:
    • glob.glob(filename),返回所有匹配的文件路径列表,注意,是‘路径’,参数可以是相对也可以是绝对路径。
    list = glob.glob(r'*.txt')#匹配txt文件,*代表任意多字符
    list = glob.glob(r'../*.py')#相对路径,匹配以python文件
    list = glob.glob(r'?.py')#匹配文件名只有一个字符的python文件
    list = glob.glob(r'[0-9].py')#匹配指定范围的字符,[0-9]匹配数字
    
    • iglob(),获取一个可遍历的对象,与glob的区别是,glob直接返回一个列表,iglob返回的是一个存储着匹配的文件路径的可遍历对象,如果想获得里面的值,要遍历出来(for循环)
    def count_lines():
        print(files)
        line_sum,blank,note=0,0,0
        f = open('./test.txt','r')
        lines = f.readlines()
        print (lines)
        length = len(lines)
        print (length)
        #遍历每个文件的每行来看是代码还是\n还是注释
        for line in lines:
            print (line)
            if line.startswith('#'):
                #startswith不是startwith,太他妈坑了!
                note += 1
            elif line == '\n':
                blank +=1
        print (length,blank,note)
    if __name__ == '__main__':
        count_lines()
    

    相关文章

      网友评论

          本文标题:python小程序集合

          本文链接:https://www.haomeiwen.com/subject/usxeuttx.html