一、日志记录模块

  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)相关推荐

  1. Python学习笔记四(Python OS模块)

    Python os模块提供了一个统一的操作系统接口函数,通过python os模块可以实现对系统本身的命令,文件,目录进行操作,官方参考文档( http://docs.python.org/libra ...

  2. 【小猫爪】AUTOSAR学习笔记16-Memory Stack之Nvm模块

    [小猫爪]AUTOSAR学习笔记16-Memory Stack之Nvm模块 前言 1 Memory Stack结构 2 NvM模块 2.1 Block 2.2 数据结构 2.3 Redundant B ...

  3. Python学习笔记:常用内建模块6 (urllib)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. Python学习笔记:常用内建模块3:struct

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  5. Python学习笔记:常用内建模块4:hmac

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  6. boost::log模块实现宽字符日志记录示例

    boost::log模块实现宽字符日志记录示例 实现功能 C++实现代码 实现功能 boost::log模块实现宽字符日志记录示例 C++实现代码 #include <iostream> ...

  7. boost::log模块实现多线程异步日志记录示例

    boost::log模块实现多线程异步日志记录示例 实现功能 C++实现代码 实现功能 boost::log模块实现多线程异步日志记录示例 C++实现代码 #include <stdexcept ...

  8. Nodejs学习笔记(六)——Mysql模块

    [目录] Nodejs学习笔记(一)--基础之全局对象.包和npm Nodejs学习笔记(二)--模块 Nodejs学习笔记(三)--同步和与异步之文件系统模块 Nodejs学习笔记(四)--http ...

  9. Arduino模块学习笔记(一)—GPS模块的使用

    Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...

最新文章

  1. 如何选择高性价比的控件产品
  2. 如何在Mac OS X上启动PostgreSQL服务器?
  3. java JFrame 设置背景颜色无效的理解
  4. 阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
  5. sp_executesql介绍和使用 转
  6. 防火墙contos6.8操作手册
  7. CTF-Bugku逆向题Android方法归纳
  8. 金融数据分析与挖掘实战练习2.5-2.9
  9. C#中生成随机数的方法和语句
  10. 【JAVA】利用MOM消息队列技术实现分布式随机信号分析系统
  11. 聊聊Netflix的技术创新
  12. android对话框不关闭,Android – dismissDialog不会关闭对话框
  13. 闪付卡(QuickPass)隐私泄露原理
  14. 大白菜备份还原linux,大白菜pe手动gho镜像还原,大白菜制作ghost镜像
  15. 空中飞猴 题解 暴力
  16. 有哪些微信小程序值得推荐?
  17. RIASEC World-of-Work Map 职业测评
  18. 抖音直播带货数据复盘怎么做?如何复盘提高直播间转化率?
  19. Accumulation
  20. python:实现辗转相除

热门文章

  1. linux 搜索 空格,如何在Linux中搜索带有空格的模式的文件
  2. 文档过期打不开怎么办_4 个超实用金山文档小技巧,很强大也很简单,赶紧收藏!...
  3. 写代码?程序猿?你不能不懂的八大排序算法的Python实现
  4. CF思维联系– Codeforces-990C Bracket Sequences Concatenation Problem(括号匹配+模拟)
  5. windows与linux网络设置(host-only)
  6. [机器学习]一个例子完美解释朴素贝叶斯分类器
  7. RHEL 6.2安装vnc
  8. 未能加载文件或程序集Microsoft.VisualStudio.Web.PageInspector.Loader
  9. 深度学习中交叉熵_深度计算机视觉,用于检测高熵合金中的钽和铌碎片
  10. 如果征信有这些行为,申请房贷直接被拒绝