模块单元学习笔记(日志记录模块os模块sys)
一、日志记录模块
Logging 默认情况下,logging将日志打印到屏幕,日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别。
DEBUG:详细的信息,通常只出现在诊断问题上; INFO:确认一切按预期运行 ;WARNING:一个警告,可能会有一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作 ; ERROR:个更严重的问题,软件没能执行一些功能 ;CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行。
案例一:import logging # logging.basicConfig(level=logging.DEBUG) logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt=' %Y/%m/%d %H:%M:%S', filename='myapp.log', filemode='w') logger = logging.getLogger(__name__) def hello(): print("hello world") def main(): logger.info("开始执行main函数") print("##"*10) hello() logger.info("调用hello() 函数") try: a = 2/0 f = open("demon1.py", "r") except Exception as e: logger.error("除数不能为0") finally: logger.warning("文件没有正常关闭")main() 执行结果如下:
二、os模块 os.name如果结果为nt, 则为windows系统,如果结果为posix, 则为unix系统 os.system(cmd) 纯粹的执行系统命令,但是没有返回结果result = os.popen(cmd)result.read() 这样你就可以对reuslt进行控制了 案例二:import os print(os.name) if os.name == "nt": cmd = "ipconfig"elif os.name == "posix": cmd = "ifconfig" # os.system(cmd) print(os.listdir("C:")) #列出当前目录, ls# os.chdir("..") #改变目录, cdprint(os.listdir())print(os.getcwd()) #pwd# os.mkdir("test")# os.remove("myapp.log")# os.rmdir("test")# os.rename("demon1.py", "demon111.py")print(os.linesep)# windows换行符\n\r linux换行符\n mac \r if not os.path.exists("test"): os.mkdir("test") print(os.path.abspath("./"))执行结果:
三、sys模块
案例四:import sysprint(sys.argv[1])print(sys.argv[2])print(sys.stdout)sys.stdout.write("allalallala") f = open("1.log", "w")sys.stdout = fprint("hello world")
四、random随机模块random.randint(a, b) 案例五:import random print(random.randrange(1, 100, 2))print(random.sample([1, 2, 3, 4, 5, 6, 7], 2)) class NumberCount(object): def __init__(self): self.number1 = 0 self.number2 = 0 self.number3 = 0 self.number4 = 0 self.number5 = 0 self.number6 = 0 def count(self): for i in range(1, 6001): number = random.randint(1, 6) if number == 1: self.number1 += 1 if number == 2: self.number2 += 1 if number == 3: self.number3 += 1 if number == 4: self.number4 += 1 if number == 5: self.number5 += 1 if number == 6: self.number6 += 1 def getResult(self): print("1出现的次数: {0}".format(self.number1)) print("2出现的次数: {0}".format(self.number2)) print("3出现的次数: {0}".format(self.number3)) print("4出现的次数: {0}".format(self.number4)) print("5出现的次数: {0}".format(self.number5)) print("6出现的次数: {0}".format(self.number6)) if __name__ == "__main__": numberCount = NumberCount() numberCount.count() numberCount.getResult() 执行结果:
五、random模块 import random
random模块 random.random() 0-1 random.randint(a, b) a<n<b 整型 random.uniform(10, 20) 10<n<20 浮点型 random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。 random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
六、string模块 案例六:import string print(string.ascii_letters) 生成所有字母 print(string.digits) 生成所有数字 print(string.ascii_lowercase) 生产所有小写字母 print(string.ascii_uppercase) 生产所有大写字母 print(string.printable) 包含所有可打印字符的字符串 print(string.punctuation) 找出字符串中的所有的标点 print(string.hexdigits) 十六进制数字 执行效果:
print("".join(random.sample(string.ascii_letters + string.digits, 4))) 随机生产4个密码执行效果:
转载于:https://www.cnblogs.com/iwss/p/8948583.html
模块单元学习笔记(日志记录模块os模块sys)相关推荐
- Python学习笔记四(Python OS模块)
Python os模块提供了一个统一的操作系统接口函数,通过python os模块可以实现对系统本身的命令,文件,目录进行操作,官方参考文档( http://docs.python.org/libra ...
- 【小猫爪】AUTOSAR学习笔记16-Memory Stack之Nvm模块
[小猫爪]AUTOSAR学习笔记16-Memory Stack之Nvm模块 前言 1 Memory Stack结构 2 NvM模块 2.1 Block 2.2 数据结构 2.3 Redundant B ...
- Python学习笔记:常用内建模块6 (urllib)
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用内建模块3:struct
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用内建模块4:hmac
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- boost::log模块实现宽字符日志记录示例
boost::log模块实现宽字符日志记录示例 实现功能 C++实现代码 实现功能 boost::log模块实现宽字符日志记录示例 C++实现代码 #include <iostream> ...
- boost::log模块实现多线程异步日志记录示例
boost::log模块实现多线程异步日志记录示例 实现功能 C++实现代码 实现功能 boost::log模块实现多线程异步日志记录示例 C++实现代码 #include <stdexcept ...
- Nodejs学习笔记(六)——Mysql模块
[目录] Nodejs学习笔记(一)--基础之全局对象.包和npm Nodejs学习笔记(二)--模块 Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(四)--http ...
- Arduino模块学习笔记(一)—GPS模块的使用
Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...
最新文章
- 如何选择高性价比的控件产品
- 如何在Mac OS X上启动PostgreSQL服务器?
- java JFrame 设置背景颜色无效的理解
- 阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
- sp_executesql介绍和使用 转
- 防火墙contos6.8操作手册
- CTF-Bugku逆向题Android方法归纳
- 金融数据分析与挖掘实战练习2.5-2.9
- C#中生成随机数的方法和语句
- 【JAVA】利用MOM消息队列技术实现分布式随机信号分析系统
- 聊聊Netflix的技术创新
- android对话框不关闭,Android – dismissDialog不会关闭对话框
- 闪付卡(QuickPass)隐私泄露原理
- 大白菜备份还原linux,大白菜pe手动gho镜像还原,大白菜制作ghost镜像
- 空中飞猴 题解 暴力
- 有哪些微信小程序值得推荐?
- RIASEC World-of-Work Map 职业测评
- 抖音直播带货数据复盘怎么做?如何复盘提高直播间转化率?
- Accumulation
- python:实现辗转相除
热门文章
- linux 搜索 空格,如何在Linux中搜索带有空格的模式的文件
- 文档过期打不开怎么办_4 个超实用金山文档小技巧,很强大也很简单,赶紧收藏!...
- 写代码?程序猿?你不能不懂的八大排序算法的Python实现
- CF思维联系– Codeforces-990C Bracket Sequences Concatenation Problem(括号匹配+模拟)
- windows与linux网络设置(host-only)
- [机器学习]一个例子完美解释朴素贝叶斯分类器
- RHEL 6.2安装vnc
- 未能加载文件或程序集Microsoft.VisualStudio.Web.PageInspector.Loader
- 深度学习中交叉熵_深度计算机视觉,用于检测高熵合金中的钽和铌碎片
- 如果征信有这些行为,申请房贷直接被拒绝