• python 常用模块


    常用模块

    http://www.cnblogs.com/alex3714/articles/5161349.html


    ##########模块############

    import 调用模块

    单独调用模块的某个函数
    from time import sleep ##调用time模块的sleep函数(可以用,取多个)
    sleep(1)
    print('afsasdas')

    ###改变模块内的函数名字
    from time import sleep as stop ##将sleep改成stop
    stop(1)
    print('afsasdas')

    ##获取文件的路径
    print(__file__) ##结果C:/Users/Administrator/PycharmProjects/untitled3/test/import mode call
    ###获取文件目录的绝对路径(从相对路径一层一层找的)
    print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    ##结果
    C:UsersAdministratorPycharmProjectsuntitled3

    ###__name__变量在当前文件中为__main__在其他文件中调用就为所调用文件的文件名
    print(__name__) ##结果__main__

    time 模块(时间)


    1.sleep #睡眠时间 time.sleep(1)
    2.strftime ##类似shell中的date命令
    time_format= '%Y-%m-%d %X'
    print(time.strftime(time_format))
    结果2017-12-21 17:53:35
    **********
    可以这么用 print(time.strftime('%Y--%m--%d %X',time.localtime()))
    结果 2017--12--25 21:23:05

    3.time #计算时间(计算机诞生到现在的时间1970年)以秒为单位
    print(time.time()) #结果 1514207184.7077286
    4.localtime ##当前时间(结构化显示) print(time.localtime())
    显示结果 time.struct_time(tm_year=2017, tm_mon=12, tm_mday=25, tm_hour=21, tm_min=13, tm_sec=7, tm_wday=0, tm_yday=359, tm_isdst=0)
    5.strptime ##转换为格式化时间显示 print(time.strptime('2017--12--25 21:23:05','%Y--%m--%d %X'))
    #结果 time.struct_time(tm_year=2017, tm_mon=12, tm_mday=25, tm_hour=21, tm_min=23, tm_sec=5, tm_wday=0, tm_yday=359, tm_isdst=-1)
    6.ctime #显示当前时间 print(time.ctime()) #结果 Mon Dec 25 21:35:00 2017
    7.mktime #以秒的格式显示当前时间 print(time.mktime(time.localtime()))
    结果# 1514209097.0


    print(time.time()) #1514209097.3601263
    print(time.mktime(time.localtime()))#1514209097.0

    #####datetime模块(时间)
    1.datetime.now ##显示时间 print(datetime.datetime.now())
    #结果 2017-12-25 21:41:53.292476


    random(随机数模块)


    1.randint ##生成自定义的随机数(包括尾数) print(random.randint(1,10)) #生成1-10的随机数
    2.random #生成大于0小于1的16位的随机数 print(random.random()) #结果 0.9182025488823987
    3.choice #在一个序列中随机打印一个内容 print(random.choice(['q','w','e']))或者print(random.choice('hello'))
    4.sample #在一个序列中随机选择n个内容print(random.sample([1,3,6,7],2))
    #结果 [3, 1]
    5.randrange #自定义范围选择随机数(顾头不顾尾)print(random.randrange(1,3))##1到2的随机数(不包括3)


    os(操作系统模块)


    1.getcwd ##获取当前文件的工作目录(目录)print(os.getcwd()) ##结果C:UsersAdministratorPycharmProjectsuntitled3 est
    2.chdir ##改变当前文件或脚本的工作目录
    print(os.getcwd())
    os.chdir(r'C:Users') ###改变工作目录
    print(os.getcwd())
    结果
    C:UsersAdministratorPycharmProjectsuntitled3 est
    C:Users
    3.curdir ##返回当前目录 类似cd .
    print(os.getcwd())
    print(os.curdir)
    结果
    C:Users
    . #点
    4.pardir ##返回上一级目录 类似cd .. print(os.pardir) ##结果..(2个点)
    5.makedirs ##创建多个目录(默认当前目录)os.makedirs('a\bb')
    6.removedirs ##删除多个空目录(非空不删除) os.removedirs('a\bb')
    7.mkdir ##创建一个目录 os.mkdir('aaaa')
    8.rmdir ##删除一个目录 os.rmdir('aaaa')
    9.listdir ##把某个目录下的所有文件及目录以一个list的格式显示os.listdir(r'UsersAdministratorPycharmProjectsuntitled3')
    10.remove ##删除一个文件(只能是文件)os.remove('v')
    11.rename ##改文件或目录的名字 os.rename('v1','vvv1')
    12.stat ##显示文件或目录的详细信息(类似shell的stat)print(os.stat(r'aaqqq.py'))(可以看文件大小)
    #结果
    os.stat_result(st_mode=33206, st_ino=2533274790532240, st_dev=701016, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1514293889, st_mtime=1514293889, st_ctime=1514293889)
    13.sep ##获取当前操作系统路径分割符 linux=/ win= print(os.sep)
    14.linesep ##换行分隔符 win= linux= mac=
    15.pathsep ##输出分割文件路径路径的分隔符 print(os.pathsep)
    16.name #输出字符串指定当前使用平台 win=nt linux=posix print(os.name)
    17.system ##运行shell命令 print(os.system('ping baidu.com'))
    18.environ ##获取系统环境变量(字典形式) print(os.environ)
    19.path.abspath ##获取文件或目录的绝对路径 print(os.path.abspath('aa'))
    20.path.split##以元祖形式将文件分成(路径与文件名)根据最后一个斜杠分
    print(os.path.split(r'C:UsersAdministratorPycharmProjectsuntitled3 estaa'))
    结果
    ('C:\Users\Administrator\PycharmProjects\untitled3\test', 'aa')
    21.path.dirname #获得目录或文件的母目录(上一个目录)的绝对路径
    print(os.path.dirname(r'C:UsersAdministratorPycharmProjectsuntitled3 est'))
    结果
    C:UsersAdministratorPycharmProjectsuntitled3
    22.path.basename #获取目录或文件(分隔符最后一个文件或目录)
    print(os.path.basename(r'C:UsersAdministratorPycharmProjectsuntitled3 est'))
    结果
    test
    23.path.exists ##判断文件存不存在 (存在True不存在False)print(os.path.exists(r'C:UsersAdministratorPycharmProjectsuntitled3 est'))
    24.path.isabs ##判断是否为绝对路径(是返回True不是返回False)print(os.path.isabs('test'))
    25.path.isfile ##判断是否为文件print(os.path.isfile('b'))
    26.path.isdir #判断是否为目录 print(os.path.isdir('../test'))
    27.path.join ##路径拼接 print(os.path.join(r'C:UsersAdministrator','b'))
    结果
    C:UsersAdministrator
    28.path.getatime ##获取文件的最后存取时间 print(os.path.getatime(r'C:UsersAdministrator'))
    结果
    1513490467.9614303
    29.path.getmtime #获取文件的最后修改时间print(os.path.getmtime(r'C:UsersAdministrator'))
    结果
    1513490467.9614303

    sys(python解释器模块)


    1.argv ##以列表的形式进行传参(第一个是文件绝对路径与文件名)
    2.exit ##退出程序exit(0)为正常
    3.path ##搜寻模块路径(以列表形式显示) print(sys.path)
    4.platform ##返回操作系统名称 print(sys.platform)


    hashlib(加密模块)


    1.md5 ##加密
    a=hashlib.md5("hello".encode('utf8')) ##加密hello (需要对字符编码)
    print(a.hexdigest()) ##hexdigest(以16进制进行返回)#结果5d41402abc4b2a76b9719d911017c592
    2.sha(1-512) ##1到512都是加密算法 常用sha3_256 解密显示也用hexdigest


    logging(日志模块)

    http://www.cnblogs.com/yuanchenqi/articles/5732581.html

    默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET),默认的日志格式为日志级别:Logger名称:用户输出消息。

    一、简单使用
    import logging
    logging.debug('debug message')
    logging.info('info message')
    logging.warning('warning message') ##打印
    logging.error('error message') ##打印
    logging.critical('critical message') ##打印

    二 灵活配置日志级别,日志格式,输出位置
    import logging
    logging.basicConfig(level=logging.DEBUG,
    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
    datefmt='%a, %d %b %Y %H:%M:%S',
    filename='/tmp/test.log',
    filemode='w')

    logging.debug('debug message')
    logging.info('info message')
    logging.warning('warning message')
    logging.error('error message')
    logging.critical('critical message')


    filename:用指定的文件名创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指定的文件中。
    filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
    format:指定handler使用的日志显示格式。
    datefmt:指定日期时间格式。
    level:设置rootlogger(后边会讲解具体概念)的日志级别
    stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件(f=open('test.log','w')),默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。

    ##########
    format参数中可能用到的格式化串:
    %(name)s Logger的名字
    %(levelno)s 数字形式的日志级别
    %(levelname)s 文本形式的日志级别
    %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
    %(filename)s 调用日志输出函数的模块的文件名
    %(module)s 调用日志输出函数的模块名
    %(funcName)s 调用日志输出函数的函数名
    %(lineno)d 调用日志输出函数的语句所在的代码行
    %(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
    %(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
    %(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
    %(thread)d 线程ID。可能没有
    %(threadName)s 线程名。可能没有
    %(process)d 进程ID。可能没有
    %(message)s用户输出的消息


    configparser(配置文件模块)

    http://www.cnblogs.com/alex3714/articles/5161349.html

    1.ConfigParser

    import configparser
    config=configparser.ConfigParser()
    config["DEBUG"]={
    'name':'zhangbin',
    'age':'23',
    'max':'male'
    }
    with open('example.ini', 'w') as configfile:
    config.write(configfile)

    ##结果
    [DEBUG]
    name = zhangbin
    age = 23
    max = male

    #####对配置文件的操作 http://www.cnblogs.com/alex3714/articles/5161349.html

    一、读

    1.sections ##以list查看所有块 print(config.sections())
    2.defaults ##以list查看(默认【第一个块】)块内的配置 print(config.defaults())


    print('bitbucket.org' in config) ##判断
    print(config['bitbucket.org']['user']) ##查看user的值


    二、增、删、改
    ##删
    config.remove_section('topsecret.server.com') ##删除‘topsecret.server.com’块
    config.write(open('a.ini','w')) ##在创建文件(原文件中的内容无法改变)

    config.remove_option('bitbucket.org','user') ##删除'bitbucket.org'块下的'user'键值
    config.write(open('a.ini','w')) ##重新写入文件

    ##改
    config.set('bitbucket.org','user','zhangbin') ##把'bitbucket.org'块中的‘user’改为‘zhangbin’
    config.write(open('a.ini','w')) ##重新写入文件


    re(正则模块)


    1.findall ##查找所有 print(re.findall('w..l','hello world'))
    . (点) ##任意一个字符
    ^ (尖角号)以什么开头
    $ 以什么结尾
    * 重复 一般用(.*)进行匹配
    + 前面一个字符最少出现一次
    ? 前面么一个字符最多出现一次可以没有
    {} 定义前面一个字符出现多少次 print(re.findall('a{1,6}b','asdaaaab')) ##匹配1到6个a(最少1个最多6个a)到b [默认取最多的]
    (反斜杠) 去除元字符的特殊意义,加普通字符实现特殊意义
    () 表示一个整体
    | 或

    [a-z] 小a到z
    [^a-z] 排除a-z


    2.search ##同findall但只取第一个并且拿到的是位置需要group才能查看内容 print(re.search('aa','aaqffadaa').group())

    ##进阶运用方法
    ret=re.search('(?P<id>d{3})/(?P<name>d{3})','assad123/456')
    print(ret.group()) 结果 123/456
    print(ret.group('id')) 结果 123

    3.match #只在字符串开头匹配(返回一个值)用gourp方法查看值print(re.match('d','dd').group())
    4.split ##以什么为分割(分成list)print(re.split('d|f','dafqgweef'))
    5.sub ##替换 print(re.sub('a.*g','AAAAAA','dafagegrgvdssad')) #结果dAAAAAAvdssad6.compile ##重复调用定义的正则匹配

    ojb=re.compile('.com')
    print(ojb.findall('baidu.com dasasd'))


    json(序列化模块)(可以和其他语句沟通)


    1.dumps ##json的方法存放数据
    import json
    dic={"name":'zhangbin',"age":"23"}
    f=open('json_write','w')
    data=json.dumps(dic)
    f.write(data)

    ###文件内容
    {"name": "zhangbin", "age": "23"}

    2.loads ##解开json的存储方法
    import json
    f=open('json_write','r')
    fw=f.read()
    d=json.loads(fw)
    print(d['name'])
    ##结果
    zhangbin


    pickle (python中的序列化模块)用法和json一样但在python中支持跟多的数据类型


    1.dumps
    2.loads

  • 相关阅读:
    【ASP.NET开发】ASP.NET(MVC)三层架构知识的学习总结
    网络工作室暑假后第二次培训资料(SQLServer存储过程和ADO.NET访问存储过程)整理(一)
    【ASP.NET开发】ASP.NET对SQLServer的通用数据库访问类 分类: ASP.NET 20120920 11:17 2768人阅读 评论(0) 收藏
    网络工作室暑假后第一次培训资料(ADO.NET创建访问数据集)整理 分类: ASP.NET 20121005 20:10 911人阅读 评论(0) 收藏
    网络工作室暑假后第二次培训资料(SQLServer存储过程和ADO.NET访问存储过程)整理(二)
    RabbitMQ(二)队列与消息的持久化
    实用的与坐标位置相关的js
    prototype、JQuery中跳出each循环的方法
    PHP获取当前日期所在星期(月份)的开始日期与结束日期
    Document Viewer解决中文乱码
  • 原文地址:https://www.cnblogs.com/zhangb8042/p/8434393.html
Copyright © 2020-2023  润新知