• python-27-其他常用模块(二)


    前言

    本编将学习的是os模块、sys模块、随机数模块。

    分别是:os、sys、random

    一、os模块

    Python当中的os模块提供了丰富的方法来,对操作系统进行目录和文件处理。

    import os
    print(os.getcwd())                       # 获取当前目录
    os.chdir('..')                           # chdir()相当于 cd
    print(os.curdir)                         # 当前目前,相当于 .
    os.mkdir('dirname')                      # 创建单个目录
    os.makedirs('dirname1/dirname2')         # 创建多层目录
    os.rmdir('dirname')                      # 删除单个空目录,若目录不为空则无法删除会报错
    os.removedirs('dirname1')                # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
    os.listdir('dirname')                    # 列出指定目录下的所有文件,并以列表方式打印
    os.remove('path')                        # 删除一个文件
    os.rename("oldname", "newname")          # 重命名文件/目录
    os.stat('path/filename')                 # 获取文件/目录信息
    os.system("bash command")                # 运行dos/shell命令,直接显示
    os.popen("bash command").read()          # 运行dos/shell命令,获取执行结果
    os.path.abspath(path)                # 返回path规范化的绝对路径
    os.path.split(path)                   # 将path分割成目录和文件名二元组返回
    os.path.dirname(path)                 # 返回path的目录。其实就是os.path.split(path)的第一个元素
    os.path.realpath(__file__)               # 获取当前的目录
    os.path.basename(path)                # 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    os.path.exists(path)                  # 如果path存在,返回True;如果path不存在,返回False
    os.path.isabs(path)                   # 如果path是绝对路径,返回True
    os.path.isfile(path)                  # 如果path是一个存在的文件,返回True。否则返回False
    os.path.isdir(path)                   # 如果path是一个存在的目录,则返回True。否则返回False
    os.path.join('dirname1', 'dirname2')     # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    os.path.getatime(path)                # 返回path所指向的文件或者目录的最后访问时间
    os.path.getmtime(path)                # 返回path所指向的文件或者目录的最后修改时间
    os.path.getsize(path)                 # 返回path的大小
    print(os.sep)                            # 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
    print(os.linesep)                        # 输出当前平台使用的行终止符,win下为"
    ",Linux下为"
    "
    print(os.pathsep)                        # 输出用于分割文件路径的字符串 win下为;,Linux下为:
    print(os.name)                           # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

    二、sys模块

    1.sys模块是与python解释器交互的一个接口:

    import sys
    
    print(sys.path)             # python模块目录路径(python环境变量)
    print(sys.path.clear())     # 清空python模块环境变量
    print(sys.version)          # 获取当前 python 版本信息
    print(sys.platform)         # 获取系统版本(不准确的)
    print(sys.argv)             # 命令行参数list
    print(sys.exit(0))          # 参数0正常退出,1异常退出

     2.sys.argv 命令行参数用法:

    在dos命令或shell命令下执行,python3 py文件path 参数1 参数2....(编辑器里运行必定报错)

    import sys
    res_avg = sys.argv
    name = res_avg[1]
    pwd = res_avg[2]
    print(type(name), name, type(pwd), pwd)
    if name == 'gsxl' and pwd == '123456':
        print('登录成功!')
    else:print('账户或密码错误!!!')

    G:python_studystudystudy_pythonpython_Basics>python day18.py
    Traceback (most recent call last):
      File "day18.py", line 81, in <module>
        name = res_arvg[1]
    IndexError: list index out of range
    
    G:python_studystudystudy_pythonpython_Basics>python day18.py gsxl 123456
    <class 'str'> gsxl <class 'str'> 123456
    登录成功!

    可以看到:python day18.py gsxl 123456,传入了参数1 参数2,如果没传是没有这个变量那么运行脚本肯定是会报错。

    三、random随机数模块

    1.随机数模块方法:

    '''
    一、random:随机数模块
    '''
    import random
    print(random.random())                          # 大于0且小于1之间的小数
    print(random.uniform(1, 3))                     # 大于1小于3的小数
    print(random.randint(1, 5))                     # 大于等于1且小于等于5之间的整数
    print(random.randrange(1, 10, 2))               # 大于等于1且小于10之间的奇数
    print(random.randrange(2, 11, 2))               # 大于等于2且小于等于10之间的偶数
    print(random.choice([1, '23', [4, 5]]))         # 1或者23或者[4,5])
    print(random.sample([1, '23', [4, 5]], 2))      # 列表元素任意2个组合,返回的个数为函数的第二个参数

    2.随机生成6位验证码:

    import random
    def v_code():
    
        code = ''
        for i in range(6):
            num = random.randint(0, 9)
            alf = chr(random.randint(65, 90))
            add = random.choice([num, alf])
            code = "".join([code, str(add)])
        return code
    
    print(v_code())

      欢迎来大家QQ交流群一起学习:482713805

  • 相关阅读:
    左侧列固定的表格
    百度地图上添加多个标记,标记上添加信息展示窗口、跳转到导航界面
    vue-cli4版本解决eslint问题
    使用脚手架搭建项目
    正则表达式学习
    函数参数:
    装饰器(重点)
    列表生成式、生成器、迭代器
    logging 日志模块
    json 、 pickle 、shelve序列化
  • 原文地址:https://www.cnblogs.com/gsxl/p/12445728.html
Copyright © 2020-2023  润新知