• 8.2,常用模块介绍:sys,os,time,random



    sys:

    介绍:主要包含涉及python编译器与系统交互的函数。

    常用函数:

    import sys
    
    print(sys.argv)#本文件名,已经运行该程序时的参数
    #[如在命令窗口中python3 mysys.py 参数1 参数2]
    #那么参数1为sys.argv[1],以此类推
    
    print(sys.version)#python版本号
    print(sys.path)#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    # sys.exit(0)#中途退出程序,当参数非0时,会引发一个SystemExit异常
    sys.stdout.write()#在屏幕中打印
    sys.stdout.flush()#刷新标准缓冲区

    os:

    介绍:这个模块提供了一种方便的使用操作系统函数的方法。

    常用函数:

    import os
    print("-------getcwd()获取当前目录-------")
    print(os.getcwd())
    print("-------chdir()改变当前所在目录-------")
    # print(os.chdir("c://users"))#c:\users   r'c:users'
    # print(os.getcwd())
    print("------ . .. --------")
    print(os.curdir)     #打印出 .
    print(os.pardir)     #打印出 ..
    print("-------makedirs递归创建目录-------")
    #os.makedirs(r"c:ac")     #要创建c,如果a不存在则创建a,如果b不存在则创建b
    print("-----remodir递归删除目录---------")
    #os.removedirs(r"c:ac")    #清除空文件夹,从c到a,如果a,b也是空的话也会删除。
    print("------mkdir创建目录--------")
    # os.mkdir('c://a')
    print("--------listdir列出指定目录下的所有文件和子目录------")
    print(os.listdir())
    print("--------remove删除文件------")
    # print(os.remove('c://newfile'))
    print("-------rename文件重命名-------")
    # os.rename('oldname','newname')
    print("-------stat 获取文件或目录信息-------")
    print(os.stat('.'))
    print("------sep 输出操作系统特点的路径分割符--------")
    print(os.sep)
    print("-----linesep 输出当前平台的行终止符---------")
    list1=[]
    list1.append(os.linesep)
    print(list1)
    print("------pathsep 输出用于分割文件的字符串--------")
    print(os.pathsep)
    print("----------name输出操作平台----------")
    # print(os.name)#nt
    print("-------system执行shell命令-------------")
    print(os.system("dir"))
    print("----------path关于文件和目录的操作----------")
    # print(os.path.abspath(__file__))###返回绝对路径
    print(os.path.split(os.path.abspath(__file__)))##将路径切割成目录名和文件名
    print(os.path.dirname(os.path.abspath(__file__)))#只取路径名
    print(os.path.dirname(__file__))###__file__是包括完整路径名的,也是绝对路径
    print(os.path.basename(__file__))#只取文件名
    print(os.path.exists("c://a"))#判断路径是否存在,不区分目录或文件
    print(os.path.isabs(__file__))#判断是否是绝对路径
    print(os.path.isfile("c://amd"))#判断是否是文件
    
    print(os.path.join(r'c:',r'a.txt'))#组合绝对路径
    
    print("----------environ获取当前系统所有环境变量----------")
    print(os.environ)
    
    print("---------popen() 方法用于从一个命令打开一个管道-----------")
    print(os.popen('dir').read())##主要用于处理执行命令的返回结果
    
    print("获取进程号".center(50,'-'))
    print(os.getpid())#获取当前进程号
    print(os.getppid())#获取父进程号

    注意:

    os.system跟os.popen的主要区别是前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的存储输出内容的一个文件描述符。

    image

    附:

    subprocess模块是python从2.4版本开始引入的模块。主要用来取代 一些旧的模块方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行的返回信息。

    详情:https://www.cnblogs.com/breezey/p/6673901.html


    time:

    介绍:包含关于时间的函数

    常用函数:

    import time
    print("--------时间戳-------------")
    print("时间戳time:",time.time())#时间戳time: 1516435471.756463
    
    print("----------结构化时间(tm_year=2018, tm_mon=1.....-----------")
    print("struct_time:",time.gmtime(time.time()))#tm_year=2018, tm_mon=1.........
    print("timestamp->struct_time:",time.gmtime())#UTC时间
    print("local_time:",time.localtime())#本地时区时间
    
    
    print("struct_time->timstamp:",time.mktime(time.gmtime()))#结构化时间-->时间戳
    
    print("----------ctime,asctime--------")
    print("string_time:",time.ctime())###字符串时间 Mon Feb  5 01:02:06 2018
    print("asctime:",time.asctime())###字符串时间 Mon Feb  5 01:02:06 2018
    
    
    print("----------format_time格式化时间、struct_time-----------")
    #结构化时间转格式化时间:%Y代表year,%m代表month,%d代表day, %H代表hour,%M代表minute,%S代表second
    #只会取代%Y等字符,并不替换无对应意义的字符
    print("struct_time -> format_time:
    ",  time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
    y=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    
    #格式化时间转结构化时间
    print("format_time -> struct_time:
    ",time.strptime(y,"%Y-%m-%d %H:%M:%S"))
    
    print("------------year--------------")
    print("year:",time.localtime().tm_year)

    random:

    介绍:存储着关于“随机”的函数

    常用函数:

    import random
    print("---------0到1,随机浮点值-----------")
    print(random.random())
    print("------------从范围中,随机取值,1<=x<=2--------")
    print(random.randint(1,2))
    print("------------从指定范围中,随机取值--------")
    print(random.randrange(1,3))
    print("------------从序列中,随机值--------")
    print(random.choice("hello"))#从序列中随机取值
    print(random.choice([0,11,3,99]))
    print("------------从序列中,随机取指定个数值--------")
    print(random.sample('heigo',2))#
    print("------------随机取浮点值,start,end--------")
    print(random.uniform(1,2))#start,end
    print("-------洗牌,打乱排序-----")
    l=[0,3,4,5,67,9]
    random.shuffle(l)
    print(l)

  • 相关阅读:
    Oracle如何定义两个数组变量
    Oracle 数组定义
    Oracle的Number对应C#数据类型
    Oracle删除临时表
    我的第一个Flutter 项目(电商)
    Dart Mac 安装环境(无敌)
    React Native 问题(运行)
    TS的一些用法和普通的对比(Vue)
    vue2.0和vue3.0的响应式原理
    简易orm 主要是为了旧平台查询方便
  • 原文地址:https://www.cnblogs.com/progor/p/8415476.html
Copyright © 2020-2023  润新知