zoukankan      html  css  js  c++  java
  • python 06篇 常用模块

    一、模块

    什么是模块?

    模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称。

    1.1 导入模块

    import module #导入模块
    from module import *  #导入该模块中的所有方法,慎用
    from module import fun as xx_fun #导入指定的方法,然后起别名
    from module import fun1,fun2,fun3 #导入模块下的多个方法
    import module,实际上就是把该模块的代码赋值给模块名,也就是module.py里面所有的代码,赋值给了module这个变量,如果是from module import fun,就是把module打开,把module里面的fun方法拿过来使用

    导入模块的本质,就是把python文件拿过来执行一次。

    1.2 模块分类

    标准库:python内置的
    开源模块:第三方
    自定义模块:自己写的

    if __name__ == '__main__':
    这个模块被导入时,这里的代码不会被执行

    1.3 第三方模块安装

        1、pip install xxx
    2、whl,首先要下载whl文件
    pip install xxx.whl
    3、.tar.gz 压缩包,下载.tar.gz压缩包
    1、解压
    2、进入目录
    3、执行python setup.py install

    1.4 卸载和升级

    pip uninstall xxx
    pip install -U xxx # 升级到最新
    pip install --upgrade xxx

    1.5 换电脑后怎么批量安装之前安装过的第三方模块

    导出已经安装过的依赖
    pip freeze > xxx.txt
    安装指定文件里面的模块
    pip install -r xxx.txt

    二、os模块

    2.1 os模块常用方法

    import os
    
    print(os.listdir('..lhylhy_homework'))  # 获取某个目录下的内容
    os.mkdir()  # 创建文件夹,如果文件夹已存在,会报错
    os.makedirs('..javaday1')  # 递归创建文件夹,父目录不存在的时候,会创建父目录
    
    os.remove('file_name')  # 删除文件,不能删除文件夹
    os.rmdir('wenjianjia_name')  # 删除空文件夹
    os.rename('file_name', 'new_file_name')  # 重命名,文件和文件夹都可以
    print(os.getcwd())  # 获取当前所在的目录
    os.chdir('..lhy_homework') # 进入到某个目录里面
    print(os.environ)  # 获取系统环境变量里面配置的内容
    
    print(os.system('ipconfig'))  # 执行操作系统命令,它只能帮你执行,不能拿到命令的结果
    # 它返回的是命令执行是否成功,如果返回的是0,代表执行成功
    print(os.popen('ipconfig').read())  # 执行操作系统命令,可以拿到命令的结果
    
    
    
    print(os.path.split('..a.py'))  # 分隔路径和文件名的
    print(os.path.join('e:', 'movies', 'dapian'))  # 拼接路径  会自动根据系统选择系统分隔符
    # 绝对路径。例如:E:pyWorkSpacelhylhy_homeworkday05ketanglianxi_05a.py
    os.path.abspath('lujing_name')  # 把相对路径转为绝对路径
    os.path.dirname()  # 取当前文件的父目录
    
    print(os.path.isfile('file_name'))  # 是否为文件
    os.path.isdir('file_name')  # 是否为文件夹
    os.path.exists('file_name')  # 文件是否存在
    os.path.getsize('file_name')  # 获取大小
    os.path.getctime('file_name')  # 创建时间
    os.path.getmtime('file_name')  # 修改时间
    os.path.getatime('file_name')  # 最后访问时间
    
    print(os.path.sep)   # 当前系统的路径分隔符

    2.2 os模块常用方法小练习

    import os
    # __file__代表当前文件
    
    #E:pyWorkSpacelhylhy_homeworkday05ketanglianxi_05pythonlibop_sql.py
    base_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  # 一层层获取父级目录
    sql_file = os.path.join(base_path, 'sqls', 'create.sql')
    print(os.path.abspath(__file__))
    print(os.path.dirname(os.path.abspath(__file__)))
    print(sql_file)
    
    #os.walk  递归遍历文件夹
    for cur_path, dirs, files in os.walk(r'E:pyWorkSpacelhylhy_homework'):  # cur_path:当前访问的目录,dirs :当前目录下的所有文件夹,files:当前文件夹中的所有文件
        print('在当前%s目录下查找:'% cur_path)
        for file in files:
            if file.endswith('.mp4'):
                print('在s%发现视频文件'% cur_path)
                break

    三、time模块

    import time
    # 时间戳  一串数字 从unix元年开始 过1秒 就+1
    
    print(time.time())  # 当前的时间戳
    print(time.strftime('%Y-%m-%d %H:%M:%S'))  # 当前格式化好的时间
    
    # 计算10天后的时间戳
    ten_days_later = int(time.time()) - 60 * 60 * 24 * 3
    print('三天前:', ten_days_later)
    print('now:', int(time.time()))
    str_time = '2020-08-29 17:33:38'
    time_stamp = 1598693618
    
    # 时间元组
    # 时间戳转格式化好的时间
    print(time.localtime(time_stamp))  # 当前时区的时间元组
    print(time.gmtime(time_stamp))  # 标准时区的时间元组
    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time_stamp)))  # 把时间戳转格式化时间
    
    # 格式化好的时间转时间戳
    time_tuple = time.strptime(str_time, '%Y-%m-%d %H:%M:%S')
    time_stamp_now = time.mktime(time_tuple)
    print(time_stamp_now)
    
    # 把时间戳转为格式化为年-月-日的时间
    now_ymd_str = time.strftime('%Y-%m-%d', time.localtime(time.time()))
    # 把年-月-日的时间转为时间戳
    now_ymd_stamp = time.mktime(time.strptime(now_ymd_str, '%Y-%m-%d'))

     四、random模块

    import random, string
    
    print(random.randint(1, 10))  # 随机整数生成,首尾都包含
    print(random.uniform(1, 10))  # 随机小数生成,首尾都包含
    print(random.choice(string.ascii_lowercase))  # 随机选择一个元素
    print(random.sample(string.ascii_lowercase, 3))  # 随机选择几个元素
    
    # 随机验证码练习
    l = [random.choice(string.digits) for i in range(6)]
    l2 = random.sample(string.digits, 6)  # 6位验证码,不会有相同的数字
    print(''.join(l))
    print(''.join(l2))
    
    l = [1, 2, 3, 4, 5, 6, 7, 8]
    print('打乱之前的', l)
    random.shuffle(l)
    print('打乱之后的', l)
    
    s = '2131432421134'
    print(sorted(s))
    print(sorted(s, reverse=True))
    
    d = {
        'xh': 100,
        'xb': 93,
        'xz': 88,
        'xl': 35
    }
    # 对字典进行排序
    result = sorted(d.items(), key=lambda x: x[1], reverse=True)  # key 这里传的是函数名,指明按字典的key还是value来排序
    print(result)

     五、sys模块

    sys.argv          # 命令行参数List,第一个元素是程序本身路径 ,用来获取运行python文件的时候,传过来的参数   
    sys.exit(n)        # 退出程序,正常退出时exit(0)
    sys.version        # 获取Python解释程序的版本信息
    sys.maxint         # 最大的Int值
    sys.path           # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    sys.platform       # 返回操作系统平台名称
  • 相关阅读:
    读取库中的所有表名
    ADOX学习
    自己寫的AccessDBHelper
    C#中Split用法~
    SQL Server:查看SQL日志文件大小SQL脚本
    MS SQL2005 How to find the top 50 cpu execution time.
    跨浏览器的本地存储解决方案
    這個SQL 語句你真的看明白了嗎?
    一个简单的SQL最优写法讨论(1)
    Gmail的标签容纳的邮件数量有限制。
  • 原文地址:https://www.cnblogs.com/lhy-qingqiu/p/13611384.html
Copyright © 2011-2022 走看看