• python模块学习1


    一、random模块

    在未来的开发中,我们可能需要用到生成随机数,这样就需要用到random模块
    import random
    
    
    print(random.random())   # 随机生成0-1中的数
    print(random.randint(1, 8))  # 随机生成指定整数范围中的数,如1到8的整数,包括1和8
    print(random.randrange(1, 8))  # 随机生成指定的数的范围,如1到8,左开右闭
    print(random.choice('hello world!'))   # 随机生成序列中的元素
    print(random.choice([1, 'hello', (24, 3)]))

    案例:验证码生成器

    # 一个len长度为5位的字母数字混合的验证码
    def code():
        co = ""
        for i in range(5):
            p = random.choice([random.randrange(10), chr(random.randrange(65, 91))])
            co += str(p)
    
        print(co)
    
    
    code()

    指定验证码的偶数位是数字,奇数位是字母

    def code():
        co = ""
        for i in range(1, 6):
            if i % 2 == 0:
                p = str(random.randrange(10))
            else:
                p = str(chr(random.randrange(65, 91)))
            co += p
    
        print(co)
    
    
    code()

    附:

    chr()是内置函数

    def chr(*args, **kwargs): # real signature unknown
        """ Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff. """
        pass

    二、os模块

    os模块这是一个调用操作系统接口的一个模块

    目录操作

    import os
    # 目录操作
    # 创建目录
    os.mkdir('test')     # 创建当前目录下同级目录
    
    os.mkdir(r'D:zgzeng	est2')    # 在指定的目录下创建目录
    
    # 判断是否创建成功
    print(os.path.isdir('test'))         # True
    print(os.path.isdir(r'D:zgzeng	est2'))       # True
    
    os.makedirs(r'ac')    # 在相对路径下创建递归目录
    os.makedirs(r'D:zgzeng	est3	est4	est5')   # 在指定的目录下创建递归目录
    print(os.path.isdir(r'D:zgzeng	est3	est4	est5'))   # True
    print(os.path.exists(r'ac'))     # True,判断目录是否存在
    
    
    # 删除目录
    os.rmdir(r'ac')    # 删除指定的空目录  ,只能删除一层目录,也就是c目录
    os.rmdir(r'D:zgzeng	est2')   # 指定删除空目录
    print(os.path.exists(r'ac'))    # False
    
    os.removedirs(r'a')    # 递归删除空的目录
    print(os.path.isdir(r'a'))   # False
    
    # 重命名目录
    os.rename(r'.	est', r'.	est2')    # 指定修改文件目录名,如果在当前目录下存在test2这个目录,那么就会报错
    print(os.path.isdir('test'))       # False
    print(os.path.isdir('test2'))      # True
    
    
    # 获取目录
    print(os.listdir(r'D:zgzengpychon基础
    eee'))    # 指定路径,列出该路径目录下包含的文件夹和文件名
    # ['1', '1-异常.py', '2-异常处理格式2.py', '3-异常处理3.py', '4-捕获异常.py', '5-捕获具体的异常信息.py', '6-异常处理机制.py', '7-自定义异常.py', '8-案例.py', 'datas_1.py', 'lianxi.py', '__pycache__']
    
    # 返回当前目录
    print(os.getcwd())    # D:zgzengpychon基础  获取当前工作路径
    
    # 返回上级路径
    os.chdir('..')  # 返回到指定路径,这里返回上一级路径
    print(os.getcwd())   # D:zgzeng
    os.chdir(r'C:Users')
    print(os.getcwd())   # C:Users


    # 删除文件
    os.remove('test.txt')   # 删除指定文件
    os.remove(r'D:zgzeng1.txt')
    
    
    # 获取指定文件/目录信息
    print(os.stat('1.txt'))
    # os.stat_result(st_mode=33206, st_ino=2533274790396271, st_dev=2221381207, st_nlink=1, st_uid=0, st_gid=0, st_size=34, st_atime=1597026039, st_mtime=1597026039, st_ctime=1592642197)
    os.system("bash command")  运行shell命令,直接显示

    os.path.abspath(path)  返回path规范化的绝对路径

      os.path.split(path)  将path分割成目录和文件名二元组返回
    
    
      os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
    
    
      os.path.basename(path)  返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    
    
    os.path.isabs(path)  如果path是绝对路径,返回True
    
    
    os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
    
    
    os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
    
    
    os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    
    
    os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
    
    
    os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
    
    

    文件操作

    os.open()方法打开一个文件,并且设置需要打开的选项

    import os
    
    # os.open(file, flags[,mode])
    # file参数是需要打开的文件,
    # flags
    os.open('qq号码.py', os.O_RDONLY)           # 以只读的方式打开
    os.open('qq号码.py', os.O_WRONLY)           # 以只写的方式打开
    os.open('qq号码.py', os.O_RDWR)             # 以读写的方式打开
    os.open('qq号码.py', os.O_NOINHERIT)        # 打开不阻塞
    os.open('qq号码.py', os.O_APPEND)           # 以追加的方式打开
    os.open('qq号码2.py', os.O_CREAT)           # 创建并打开一个新文件
    os.open('file', os.O_TRUNC)            # 打开一个文件并截断它的长度(必须有写的权限)
    os.open('qq号码.py', os.O_EXCL)             # 如果指定文件存在,返回错误

    os.write()方法用于写入字符串到文件中,描述符fd中,返回实际写入的字符串长度

    os.lseek()方法用于设置文件描述符fd当前位置为pos,how方式修改

    os.read()方法用于从文件描述符fd中读取最多n字节,返回包含读取字节的字符串,文件描述符fd对应文件已达到结尾,返回一个空字符串

    os.fsync() 方法强制将文件描述为fd的文件写入硬盘

    os.close()方法用于关闭文件描述符fd

    f = os.open('test.txt', os.O_CREAT | os.O_RDWR)  # 打开文件
    os.write(f, b'This is test')   # 写入内容
    
    os.fsync(f)   # 将字符串刷新到硬盘上
    
    os.lseek(f, 0, 0)    # 将指针置为0
    
    text = os.read(f, 100)  # 读取文件
    print(text)    # b'This is test'
    os.close(f)
  • 相关阅读:
    PowerDesigner与Eclipse同步开发
    postdrop: create file maildrop/xxx: Permission denied
    mysql导出数据mysqldump用法
    mysql 存储过程中 limit之后使用分页变量,传入分页参数. 类似于微博游标分批次获取信息;问号参数类似于c#的string.format;问号占位符
    mysql 获取本周一的日期,本周日的日期
    mysql 游标 ,嵌套游标
    asp.net调用mysql 存储过程 带 out 返回值,返回刚插入数据库中的自增的ID,LAST_INSERT_ID() 的使用
    跨服务器,跨数据库,多表联合查询 / 如何用sql语句来查询表中哪些记录是重复的
    asp.net 使用mysql数据库,OUT parameter返回值为null的bug
    mysql 类型转换 cast 将 float 转换为 decimal
  • 原文地址:https://www.cnblogs.com/zgzeng/p/13455322.html
Copyright © 2020-2023  润新知