• python几种常用模块


    sys模块

    1 sys.argv   #在命令行参数是一个空列表,在其他中第一个列表元素中程序本身的路径
    2 sys.exit(n) #退出程序,正常退出时exit(0)
    3 sys.version  #获取python解释程序的版本信息
    4 sys.path #返回模块的搜索路径,初始化时使用python PATH环境变量的值
    5 sys.platform #返回操作系统平台的名称
    6 sys.stdin    #输入相关
    7 sys.stdout  #输出相关  
    8 sys.stderror #错误相关
    sys
    import sys,time
    def jindu(ta,tb):   #百分比显示方法
        re=float(ta)/float(tb)
        se=int(re*100)
        r='
     %d%%'%se
        sys.stdout.write(r)
        sys.stdout.flush()     # 把每次写入的东西都给刷新到屏幕
    
    
    if __name__=='__main__':
        for i in range(0, 101):
            time.sleep(0.1)
            jindu(i, 100)
    进度条数字

    time模块

    3 1#time.time() 时间戳
     4 print(time.time())
     5 
     6 2#time.localtime(second) 加上second(时间戳)转换结构化时间,不加则显示当前的结构化时间
     7 print(time.localtime())
     8 print(time.localtime(1371643198))
     9 
    10 3#time.gmtime(second) #utc时区加上second(时间戳)转换结构化时间,不加则显示当前的结构化时间
    11 print(time.gmtime())
    12 print(time.gmtime(1391614837))
    13 
    14 4#mktime ()结构化时间转换为时间戳
    15 print(time.mktime(time.localtime()))
    16 
    17 5#time.ctime(seconds)#将加上时间戳转换为时间戳的格式化时间,不加则返回当前的的格式化时间
    18 print(time.time())
    19 print(time.ctime(1331644244))
    20 
    21 6#time.asctime(p_tuple)#加参数是加一个结构化时间,把加的结构化时间转换为格式化时间,不加则返回当前的格式化时间
    22 print(time.asctime())
    23 print(time.asctime(time.gmtime()))
    24 
    25 7#time.strftime(format,p_tuple)  #把一个结构化时间转化相应的格式时间
    26 print(time.strftime("%Y-%m-%d %X",time.localtime()))
    27 
    28 8#time.strptime(string,format) #把相应的格式时间,转换为结构化时间
    29 print(time.strptime("2015-5-20 20:22:36","%Y-%m-%d %X"))
    30 #time.struct_time(tm_year=2015, tm_mon=5, tm_mday=20, tm_hour=20, tm_min=22, tm_sec=36, tm_wday=2, tm_yday=140, tm_isdst=-1)
    31 
    32 9#time.sleep(second)#将程序延迟指定的秒数运行
    33 print(time.sleep(5))
    34 
    35 # 10 time.clock()
    36 # 这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。
    37 # 而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行
    38 # 时间,即两次时间差。
    time

    random模块

     import random
     2 
     3 print(random.random())#随机生成一个小于1的浮点数
     4 
     5 print(random.randint(1,3)) #[1-3]随机生成1到3的数
     6 
     7 print(random.randrange(1,3)) #[1-3)随机生成1到2的数
     8 
     9 print(random.choice([1,'23',[4,5]]))#随机在列表中选取一个元素
    10 
    11 print(random.sample([1,'23',[4,5]],2))#随机在列表中选取2个元素
    12 
    13 print(random.uniform(1,3))#随机生成1-3的之间的浮点数
    14 
    15 print(random.shuffle([1,3,5,7,9]))#打乱列表中元素的顺序
    复制代码
    random
    import random
    def viry_code(len):  #随机生成验证码
        code=''
        for i in range(0,len):
            num=random.randint(0,9)
            alf=chr(random.randint(65,90))
            ret=random.choice([num,alf])
            code+=str(ret)
        return code
    ip=int(input('请输入验证码位数:'))
    print(viry_code(ip))
    随机验证码

    os模块

     os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
     2 os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
     3 os.curdir  返回当前目录: ('.')
     4 os.pardir  获取当前目录的父目录字符串名:('..')
     5 os.makedirs('dirname1/dirname2')    可生成多层递归目录
     6 os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
     7 os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
     8 os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
     9 os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    10 os.remove()  删除一个文件
    11 os.rename("oldname","newname")  重命名文件/目录
    12 os.stat('path/filename')  获取文件/目录信息
    13 os.sep    输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
    14 os.linesep    输出当前平台使用的行终止符,win下为"	
    ",Linux下为"
    "
    15 os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
    16 os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
    17 os.system("bash command")  运行shell命令,直接显示
    18 os.environ  获取系统环境变量
    19 os.path.abspath(path)  返回path规范化的绝对路径
    20 os.path.split(path)  将path分割成目录和文件名二元组返回
    21 os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
    22 os.path.basename(path)  返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    23 os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
    24 os.path.isabs(path)  如果path是绝对路径,返回True
    25 os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
    26 os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
    27 os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    28 print(os.path.join("D:\python\wwww","xixi"))   #做路径拼接用的
    29 #D:pythonwwwwxixi
    30 
    31 os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
    32 os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
    os

    json & pickle序列化模块

    我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化。

    反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化。 json不认单引号

     json的dumps,loads的功能:

     1 import json
     2 data = {'k1':123,'k2':456}
     3 s_str=json.dumps(data)  #把data对象序列化成字符串 >>>>>#序列化的过程
     4 # print(s_str)  #{"k2": 456, "k1": 123}
     5 # print(type(s_str)) str
     6 with open("js_new","w") as f:
     7     f.write(s_str)  #把json的字符串写入到文件js_new
     8 
     9 #注:用之前先把上面的写文件的方式给注释掉
    10 with open("js_new","r") as f:
    11     aa = json.loads(f.read())   #把字符串重新读到python原来数据对象  >>>>#反序列化过程
    12     print(aa)
    13     # print(type(aa)) #<class 'dict'>
    json dumps loads

    json的dump,load的功能

     1 import json
     2 data = {'k1':123,'k2':456}
     3 with open("json_dump","w") as f:
     4     json.dump(data,f)
     5 #json.dump(x,f) x是python原来数据的对象,f是文件对象 主要是用来写python对象到文件里面
     6 
     7 with open("json_dump","r") as f:
     8     bb = json.load(f)
     9     print(bb)
    10     print(type(bb))  #<class 'dict'>
    11 #json.read(f) #f是文件对象,把文件对象的数据读取成原来python对象的类型
    json dump load

    json.dumps(x)   把python的(x)原对象转换成json字符串的对象,主要用来写入文件。

    json.loads(f)   把json字符串(f)对象转换成python原对象,主要用来读取文件和json字符串

    json.dump(x,f)  把python的(x)原对象,f是文件对象,写入到f文件里面,主要用来写入文件的

    json.load(file)  把json字符串的文件对象,转换成python的原对象,只是读文件

    pickle的用法:

     1 li = "[1,2,3,4,5,6,'aa']"
     2 aa = pickle.dumps(li)
     3 print(type(aa)) #<class 'bytes'>
     4 # print(pickle.dumps(li)) #bytes对象
     5 
     6 with open("pickle_new","wb") as p: #注意w是写入str,wb时写入字节 ,wb写入文件是二进制,
     7                                         # 我们看不到里面的里面写入的文件内容pickle_new
     8     pickle.dump(li,p)
     9 with open("pickle_new","rb") as p_b: #以二进制方式读取
    10     # print(pickle.load(p_b))  #[1,2,3,4,5,6,'aa']
    11     print(pickle.loads(p_b.read()))  #[1,2,3,4,5,6,'aa']
    pickle
  • 相关阅读:
    Feign (配合Hystrix) +文件传输
    springCloud Euraka (HA && docker)
    MySQL表结构映射为Python中的对象 python (SQLAlchemy)
    sqoop 脚本
    ubuntu16 ntp时钟同步服务设置
    Bootstrap3基础教程 03 导航栏
    Bootstrap3基础教程 02 网格布局
    Bootstrap3基础教程 01 概述
    C#面向对象21 接口
    C#面向对象20 序列化和反序列化
  • 原文地址:https://www.cnblogs.com/wen-kang/p/9249467.html
Copyright © 2020-2023  润新知