zoukankan      html  css  js  c++  java
  • 模块-os.system的两个模块/random模块/datetime模块/写日志

     一、获取当前目录的路径

    os.path.abspath('.')# 取绝对路径

    os.getcwd()# 取当前路径

    .代表当前目录 ..上一级目录 ../..

    二、执行操作系统命令

    1.os.system()

    os.system('ipconfig')
    # 用来执行操作系统命令,但是只能帮你执行,获取不到结果;执行后会出现黑色乱码显示
    



    # res = os.system('ipconfig')
    # # 用来执行操作系统命令,但是只能帮你执行,获取不到结果
    # print(res)# 输出为0
    # 输出0,则执行成功;输出1,则执行失败
    
    res = os.system('haha')
    print(res)# 输出为1

    2.os.popen()

    用来执行操作系统命令,并可以获取到结果

    res = os.popen('ipconfig')
    # 用来执行操作系统命令,并能够获取到结果
    print(res)
    # 运行结果:<os._wrap_close object at 0x00000000006BB9B0>
    res = os.popen('ipconfig').read()
    # 用来执行操作系统命令,并能够获取到结果
    print(res)
    # 运行结果:
    # Windows IP 配置
    # 
    # 
    # 以太网适配器 Bluetooth 网络连接:
    # 
    #    媒体状态  . . . . . . . . . . . . : 媒体已断开
    #    连接特定的 DNS 后缀 . . . . . . . : 
    # 
    # 以太网适配器 本地连接:
    # 
    #    连接特定的 DNS 后缀 . . . . . . . : 
    #    本地链接 IPv6 地址. . . . . . . . : fe80::48f:a39e:32b4:b578%12
    #    IPv4 地址 . . . . . . . . . . . . : ***.**.**.***
    #    子网掩码  . . . . . . . . . . . . : 255.255.255.0
    #    默认网关. . . . . . . . . . . . . : ***.**.**.254
    # 
    # 无线局域网适配器 无线网络连接:
    # 
    #    媒体状态  . . . . . . . . . . . . : 媒体已断开
    #    连接特定的 DNS 后缀 . . . . . . . : 
    # 
    # 隧道适配器 isatap.{012DAA49-8300-457F-9416-9BF1E07478C0}:
    # 
    #    媒体状态  . . . . . . . . . . . . : 媒体已断开
    #    连接特定的 DNS 后缀 . . . . . . . : 
    # 
    # 隧道适配器 本地连接* 3:
    # 
    #    连接特定的 DNS 后缀 . . . . . . . : 
    #    IPv6 地址 . . . . . . . . . . . . : 2001:0:ca6a:c727:1816:d57:53ef:f484
    #    本地链接 IPv6 地址. . . . . . . . : fe80::1816:d57:53ef:f484%20
    #    默认网关. . . . . . . . . . . . . : ::
    # 
    # 隧道适配器 isatap.{402A9BB8-4D45-4970-917B-73E513B03EAE}:
    # 
    #    媒体状态  . . . . . . . . . . . . : 媒体已断开
    #    连接特定的 DNS 后缀 . . . . . . . : 
    # 
    # 隧道适配器 isatap.{832D9784-4EEB-4977-80DF-9E9F5740B3C3}:
    # 
    #    媒体状态  . . . . . . . . . . . . : 媒体已断开
    #    连接特定的 DNS 后缀 . . . . . . . : 

     三、random模块

    import random
    
    print(random.random()) #取小于1的随机小数
    print(random.randint(1,10))# 指定范围(包含10)[1,10],取随机的整数
    
    s = 'abcdefgh'
    print(random.choice(s))# 随机选择一个,只能选择一个
    print(random.sample(s,4))# 随机选择N个值,输入4,则随机选择4个,放在list中
    print(random.uniform(8.8,9.9))# 指定一个范围,然后取随机小数

     四、datetime模块

    import datetime
    
    print(datetime.date.today()) # 2018-07-12,当天的日期,只有日期
    print(datetime.datetime.today()) # 2018-07-12 19:22:28.911401,当天的时间,有日期有时间
    
    date = datetime.date.today() + datetime.timedelta(-10)# 写负数,则为几天前;写正数,则为几天后。默认单位为天
    print(date)
    
    res = datetime.datetime.today() + datetime.timedelta(hours=-8,minutes=-20)# 写负数,则为几个小时前;写正数,则为几小时后。默认单位为天
    print(res.time())# 只取到时间
    print(res.date())# 只取到日期
    print(res.timestamp())# 时间戳
    print(res.strftime('%Y-%m %H:%M:%S'))# 取到格式化好的时间

    五、写日志

    import nnlog
    
    my_log = nnlog.Logger('abc.log',level='debug',when='S',backCount=5)
    # level默认级别为debug;when按天生成日志,默认为天;backCount=5,最多保留五个,默认为五个
    # debug
    # info
    # warning
    # error
    my_log.debug('这是debug的')
    my_log.info('info级别的')
    my_log.warning('warning级别的')
    my_log.error('error级别的')

     

  • 相关阅读:
    数据库各类模板
    React+Cesium安装部署
    VS2019+QT 制作自定义控件
    Vue+arcgis(1)
    将TIF/PNG等转为GeoTIFF
    QT 同名信号无法识别的问题
    VSCode配置PyQt5
    Python中类属性和self属性的区别
    postgresql的数据复制
    在windows server 2012 R2上搭建nginx环境
  • 原文地址:https://www.cnblogs.com/Noul/p/9294157.html
Copyright © 2011-2022 走看看