zoukankan      html  css  js  c++  java
  • 内置模块(二)

    ---恢复内容开始---

    sys模块

    sys.exit(n)

    当n等于0时属于正常退出默认是0可以不填写

    这个模块的退出就好比是直接退出了这个软件的意思,不是退出循环之类的

    sys.argv

    查询当前文件路径,相当于os.getcwd 我们用argv模块做个实验 我在内置的

    同时可以做传送的功能

    import sys
    
    a=sys.argv
    name=a[a.index('-u')+1]
    passwd=a[a.index('-p')+1]
    
    if name=='egon' and passwd=='123':
        print('ok')

    我调用这个.py文件

    这里我们的传入的一些信息会变成sys.argv的第一个之后的元素

    当这样我们就可以直接以a=sys.argv的方式提取

    sys.path 可以用于添加 环境变量文件加

    我们在使用python的过程中会使用当中的一些内置函数,他们的调取都是从环境变量中提取的,当我们将我们的一个.py文件写好后会有其他文件调用这时我们需要将我们的这个py文件调用进去这时我们需要在最后面加上一句:

             sys.path.append(r'路径')

    这样我们就可以调用到我们的py文件了

    二 logging

    basciconfig()知道不用

    logger()熟练

    import logging

    logg=logging.getlogger()

    创建一个文件输出流:

    fh=logging.filehandler(‘loger_file.txt’)

    创建一个屏幕输入溜 :

    ch=logging.Streamhandler()

    创建一个格式对象

    fromat=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

    添加各种需求:

    fh.setFormatter(formatter) ch.setFormatter(formatter)

    logg.addhand(fh) 将这个添加到logg内容中

    logg.addhand(ch) 将ch添加到logg这个功能呢中

    logg.setlevel(logging=DEBUG)

    logg.info('info')

    上述我们做一个log_save.py试试看

    告警严重等级低的>>>>告警严重等级高的

    log_save.debug('debug')>>>log_save.info('info')>>>log_save.warning('waring')>>>log_save.error('error')>>>log_save.critical('critical')
    也可以用数字代替
     
    import logging
    log_save=logging.getLogger()#启动logging
    fl=logging.FileHandler('logger_file.txt')#log存入文件
    sl=logging.StreamHandler()#log屏幕显示
    sl.setLevel(logging.CRITICAL)#定义显示等级critical
    fl.setLevel(logging.DEBUG)#定义文件等级info
    
    
    config=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')#这些配置了时间,触发人,等级,其他信息
    
    sl.setFormatter(config)#屏幕显示的内容格式
    fl.setFormatter(config)#文件存入的内容格式
    log_save.addHandler(sl)#将显示功能添加
    log_save.addHandler(fl)#将文件存入功能添加
    log_save.setLevel(logging.DEBUG)#如果不定义全局最低那么无论哪一个都会输出waring之后的
    log_save.debug('debug')
    log_save.info('info')
    log_save.warning('waring')
    log_save.error('error')
    log_save.critical('critical')

    非常重要的模块

    序列化定义:相当于两种不通语言的翻译者,能够将a语言提出的数据 经过 序列化定义后 转换成b语言

    这里需要注意的是传送的只是数据没有别的,就是传送python吐出的数据类型 数据类型 数据类型 没有别的那些个函数,方法,类都不行

    定义一个词典dic={'engo':123}

    date=json.dumps{dic} 对 词典进行一个序列化编译 变成大家都能懂得格式

    json.loads(文件内容) 对文件提取出来的内容进行反序列化编译变成python的格式

    import json
    
    dic={'hha':1}
    c=json.dumps(dic)
    w=open(r'H:py联系第一颗d13aaa','w')
    w.write(c)
    w.close()
    # 可以用 json.dump(dic,f)代替上面
    r=open(r'H:py联系第一颗d13aaa','r')
    re=r.read()
    d=json.loads(re)
    print(d)
    # 可以用 re=json.load(r)代替上面

    两个python的数据沟通之间的沟通 pickle

  • 相关阅读:
    洛谷mNOIP模拟赛Day2-星空
    洛谷mNOIP模拟赛Day2-将军令
    洛谷mNOIP模拟赛Day2-入阵曲
    洛谷mNOIP模拟赛Day1-斐波那契
    洛谷mNOIP模拟赛Day1-数颜色
    计蒜客NOIP2017提高组模拟赛(五)day1-展览
    HDU1700Points on Cycle(圆心半径)
    HDU1086You can Solve a Geometry Problem too (斜率问题)
    湖南省第十届大学生计算机程序设计竞赛1503: 点到圆弧的距离(atan()函数的应用)
    HDU献给杭电五十周年校庆的礼物 (切蛋糕,线段划分区域)
  • 原文地址:https://www.cnblogs.com/935415150wang/p/7066423.html
Copyright © 2011-2022 走看看