zoukankan      html  css  js  c++  java
  • python之模块分类(一)

    模块的分类

    (1)标准库(内置模块)

    python自带的模块,例如:time,datetime

    python中常用的时间的表示方式:格式化后的字符串,时间戳,元组

    #Author:Anliu
    import time,datetime
    print(time.time())   #获取时间戳
    print(time.localtime())  #本地时间 UTC+8,元组的形式呈现
    time.sleep(2)      #程序停2秒
    print(time.gmtime())   #UTC时间,元组的形式呈现
    print(time.gmtime(time.time()))
    
    x=time.gmtime()
    print(x)
    print(x.tm_year)
    print(x.tm_mon)
    print(x.tm_mday)
    print(time.mktime(x))   #元组转化为时间戳
    
    print(time.strftime("%Y-%m-%d %H:%M:%S",x))   #元组转化为格式化的字符串
    print(time.strptime("2019-11-08 01:52:03","%Y-%m-%d %H:%M:%S"))  #格式化的字符串转化成元组
    print(time.asctime())  #元组转换成字符串格式
    print(time.ctime())   #时间戳转换成字符串格式
    print(datetime.datetime.now())  #打印当前时间
    print(datetime.datetime.now() + datetime.timedelta(3))  #当前时间的后3天
    print(datetime.datetime.now() + datetime.timedelta(-3))  #当前时间的前3天
    print(datetime.datetime.now() + datetime.timedelta(hours=8))
    print(datetime.datetime.now() + datetime.timedelta(hours=-8))

     random模块

    #Author:Anliu
    import random
    print(random.random())  #随机浮点数
    print(random.randint(1,3)) #打印1,3的随机整数
    print(random.randrange(1,3))  #打印1,2的随机整数
    print(random.choice('hello'))   #字符串列表或者元素
    print(random.sample('hello',2))   #随机取两个字符
    list=["a","b","c","d","e","f","g"]
    random.shuffle(list)    #打乱列表顺序
    print(list)

    random实例:验证码

    #Author:Anliu
    import random
    #打印四位数字
    #checkcode=''
    #for i in range(4):
    #    current=random.randint(1,9)
    #    checkcode+=str(current)
    #print(checkcode)
    
    #打印四位数字加字母
    checkcode=''
    for i in range(4):
        current=random.randrange(0,4)
        if current == i:
            tmp = chr(random.randint(65,90))
        else:
            tmp = random.randint(0,9)
        checkcode+=str(tmp)
    print(checkcode)

     os模块

    #Auth: Anliu                                                                       
    import os,time                                                                     
    #print(os.getcwd())                                                                
    #os.chdir("/home")                                                                 
    #print(os.getcwd())                                                                
    #print(os.curdir)                                                                  
    #print(os.getcwd())                                                                
    #print(os.pardir)                                                                  
    #print(os.getcwd())                                                                
    #os.makedirs(r"/test/test/123/111")                                                
    #os.removedirs(r"/test/test/123/111")                                              
    #os.mkdir(r"/test")                                                                
    #os.rmdir(r"")                                                                     
    #print(os.listdir('.'))                                                            
    ##os.rename("test.py","123.py")                                                    
    #print(os.stat('123.py'))                                                          
    #print(os.sep)                                                                     
    #print(os.linesep)                                                                 
    #print(os.pathsep)                                                                 
    #print(os.environ)                                                                 
    #print(os.name)                                                                    
    #print(os.system("pwd"))                                                           
    #print(os.path.abspath("123.py"))                                                  
    #print(os.path.split("/home/123"))                                                 
    print(os.path.dirname("/home/123.py"))                                             
    print(os.path.basename("/home/123.py"))                                            
    print(os.path.exists("/test"))                                                     
    print(os.path.isabs("/home"))                                                      
    print(os.path.isfile("123.py"))                                                    
    print(os.path.isdir("/home"))                                                      
    print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(os.path.getatime("123.py"))))  
    print(os.path.getmtime("123.py"))                                                  

     sys模块

    #Author:Anliu
    import sys
    #(1)sys.argv
    #print(sys.argv)  #打印文件名以及参数
    #a = sys.argv[0]  #传递位置参数
    #b = sys.argv[1]
    #print(a,b)
    
    #(2)sys.exit(1)  退出程序机制
    #通过引发SystemExit异常来退出Python程序。
    #可以通过捕捉SystemExit异常,在finally语句中进行一些清理操作;不捕捉SystemExit异常(SystemExit异常不被认为是错误的异常)将直接退出程序。
    #退出程序,正常退出为sys.exit(0)
    
    #不捕捉SystemExit异常,直接退出程序:
    #Author:Anliu
    import sys,time
    
    print("Type exit to exit.")
    while True:
        response = input(">>>")
        if response.upper() == "EXIT":
            print("you have typed exit ,and system will exit right now...")
            time.sleep(0.1)
            sys.exit()
        print("you typed" + response + '.')
    
    #捕捉SystemExit异常,可以做一些工作,如打印异常消息等:
    #Author:Anliu
    import sys
    
    def f1(str):
        global sports
        if str.upper() == "EXIT":
            sys.exit("User exit")
        else:
            sports.append(str)
            sys.exit()
    
    user = ['zhangkai','jiakai','liming']
    for usr in user:
        sports = []
        print(usr + ",input your favorite sport and type exit tp exit.")
        while True:
            response = input(":")
            try:
                f1(response)
            except SystemExit as msg:
                print(msg)
                print(usr + "'s favorite sports is " + ",".join(i.lower() for i in sports) + '.')
                break
    #Author:Anliu
    import sys
    print(sys.path)
    sys.path.append("自定义路径")
    #Author:Anliu
    import sys
    #print(sys.path)
    #sys.path.append("自定义路径")
    
    #print(sys.modules.keys())
    #print(sys.platform)
    #print(sys.stdout.write)
    #
    
    print('Dive in')
    saveout = sys.stdout
    with open("out.put","w") as f:
        sys.stdout = f
        print("This is a test from logging")
    sys.stdout = saveout
    print("123")

    shuti模块:高级的 文件、文件夹、压缩包 处理模块

    #Auth: Anliu
    import os,shutil
    with open("file1","w",encoding="utf-8") as f:
        f.write("This is a test from linux")
    with open("file2","w",encoding="utf-8") as f:
        f.write("This is a test from python")
    #shutil.copymode("file1","file2")  #仅拷贝权限。内容、组、用户均不变
    #shutil.copystat("file1","file2")  #拷贝状态的信息,包括:mode bits, atime, mtime, flags
    #shutil.copy("file1","file2")   #拷贝文件和权限
    #shutil.copy2("file1","file2")  #拷贝文件和状态信息
    #os.makedirs(r"root/123/aaa/bbb")
    #shutil.copytree("root","root1",ignore= shutil.ignore_patterns("*.xls","*.doc")) #递归的去拷贝文件
    #shutil.rmtree("root")     #递归的去删除文件
    #shutil.move("root1","root2")     #递归的去移动文件
    '''
    创建压缩包并返回文件路径,例如:zip、tar
    base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
    format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
    root_dir: 要压缩的文件夹路径(默认当前目录)
    owner: 用户,默认当前用户
    group: 组,默认当前组
    logger: 用于记录日志,通常是logging.Logger对象
    '''
    shutil.make_archive("root2","tar","root2")

    shelve模块:

    shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式

    #Author:Anliu
    import shelve,time
    d = shelve.open("file")
    
    list = ["linux",["base","auto"]]
    d["name"] = "anliu"
    d["list"] = list
    d["time"] = time.localtime()
    
    print(d.get("list"))
    print(d.get("name"))
  • 相关阅读:
    Django框架13 /缓存、信号、django的读写分离
    linux09 /消息队列、saltstack工具
    会话管理之AbpSession
    ABP之事件总线(5)
    依赖注入容器之Castle Windsor
    ABP之事件总线(4)
    ABP之事件总线(3)
    ABP之事件总线(2)
    ABP之事件总线(1)
    ABP之展现层(Datatables分页)
  • 原文地址:https://www.cnblogs.com/anttech/p/11818586.html
Copyright © 2011-2022 走看看