内置模块(二)

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

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联系\第一颗\d13\aaa','w')
w.write(c)
w.close()
# 可以用 json.dump(dic,f)代替上面
r=open(r'H:\py联系\第一颗\d13\aaa','r')
re=r.read()
d=json.loads(re)
print(d)
# 可以用 re=json.load(r)代替上面

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

 

posted @ 2017-06-22 18:00  一锅煮不下  阅读(120)  评论(0编辑  收藏  举报