20、Python常用模块sys、random、hashlib、logging
一、sys运行时环境模块
sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。
用法:
- sys.argv:命令行参数List,第一个元素是程序本身路径
- sys.modules.keys():返回所有已经导入的模块列表
- sys.exc_info():获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
- sys.exit(n):退出程序,正常退出时exit(0)
- sys.hexversion:获取Python解释程序的版本值,16进制格式如:0x020403F0
- sys.version:获取Python解释程序的版本信息
- sys.maxint:最大的Int值
- sys.maxunicode:最大的Unicode值
- sys.modules:返回系统导入的模块字段,key是模块名,value是模块
- sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
- sys.platform:返回操作系统平台名称
- sys.stdout:标准输出
- sys.stdin:标准输入
- sys.stderr:错误输出
- sys.exc_clear():用来清除当前线程所出现的当前的或最近的错误信息
- sys.exec_prefix:返回平台独立的python文件安装的位置
- sys.byteorder:本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
- sys.copyright:记录python版权相关的东西
- sys.api_version:解释器的C的API版本
import sys
print('命令行参数如下:')
for i in sys.argv:
print(i)
print('\n\nPython 路径为:', sys.path, '\n')
#命令行参数如下:
#C:/PycharmProjects/untitled/run.py
#Python 路径为: ['C:\\PycharmProjects\\untitled', 'C:\\PycharmProjects\\untitled', 'C:\\Python\\Python38\\python38.zip', 'C:\\Python\\Python38\\DLLs', 'C:\\Python\\Python38\\lib', 'C:\\Python\\Python38', 'C:\\PycharmProjects\\untitled\\venv', 'C:\\PycharmProjects\\untitled\\venv\\lib\\site-packages', 'C:\\Users\\bobin.yang\\AppData\\Roaming\\Python\\Python38\\site-packages', 'C:\\Python\\Python38\\lib\\site-packages', 'C:\\Python\\Python38\\lib\\site-packages\\win32', 'C:\\Python\\Python38\\lib\\site-packages\\win32\\lib', 'C:\\Python\\Python38\\lib\\site-packages\\Pythonwin']
二、random随机数模块
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
- random(): 随机生成下一个实数,它在[0,1)范围内。
- randint(x,y): 随机生一个整数int类型,可以指定这个整数的范围。
- randrange ([start,] stop [,step]): 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
- uniform(x, y): 随机生成下一个实数,它在[x,y]范围内。
- choice(seq): 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
- sample(sequence,length): 可以从指定的序列中,随机的截取指定长度的片断,不修改原序列。
- shuffle(lst): 将序列的所有元素随机排序。
- seed([x]): 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
import random # 大于0且小于1之间的小数
print(random.random()) # 0.42866657593385415 # 大于等于1且小于等于3之间的整数
print(random.randint(1, 3)) # 3 # 大于等于1且小于3之间的整数
print(random.randrange(1, 3)) # 2 # 大于1小于3的小数,如1.927109612082716
print(random.uniform(1, 3)) # 2.1789596280319605 # 列表内的任意一个元素,即1或者‘23’或者[4,5]
print(random.choice([1, '23', [4, 5]])) # [4, 5] # random.sample([], n),列表元素任意n个元素的组合,示例n=2
print(random.sample([1, '23', [4, 5]], 2)) # ['23', 1] lis = [1, 3, 5, 7, 9]
# 打乱l的顺序,相当于"洗牌"
random.shuffle(lis)
print(lis) # [9, 1, 5, 7, 3]
三、math数学
math模块为浮点运算提供了对底层C函数库的访问:
import math print(math.cos(math.pi / 4))
# 0.70710678118654757
print(math.log(1024, 2))
# 10.0
20、Python常用模块sys、random、hashlib、logging的更多相关文章
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- Python常用模块sys,os,time,random功能与用法,新手备学。
这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...
- python常用模块之random模块
python常用模块之random模块 在程序中很多会用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串 1.random.randrange():返回1-10之间的 ...
- python 常用模块之random,os,sys 模块
python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...
- 20 Python 常用模块
collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...
- Python常用模块-摘要算法(hashlib)
Python常用模块-摘要算法(hashlib) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MD5算法参数详解 1.十六进制md5算法摘要 #!/usr/bin/env p ...
- python 常用模块(一): random , time , sys , os模块部分知识.
1.常用模块:(1)collectiaons模块 (2)与时间相关 time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json , pickle 2 ...
- Python常用模块之random和time
常用模块: time: 分为三种格式: 1.时间戳:从1970年1月1日0点0分0秒到现在经过的秒数 用于时间间隔的计算 import time print(time.time()) 2.字符串显示时 ...
- python常用模块之random
random模块 import random print(random.random())#(0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3)) ...
随机推荐
- centos上nginx转发tcp请求
下载最新版nginx > wget http://nginx.org/download/nginx-1.17.1.tar.gz 解压缩 > tar zxvf nginx-1.17.1.ta ...
- C运算符优先级和结合性
C中运算符优先级和结合性一览表: 在上表中能总结出一下规律: (1)结合方向只有三个是从右往左,其余都是从左往右: (2)逗号运算符的优先级最低: (3)对于优先级,有一个普遍规律:算术运算符 > ...
- 【转】JavaScript 高性能数组去重
原文地址:https://www.cnblogs.com/wisewrong/p/9642264.html 一.测试模版 数组去重是一个老生常谈的问题,网上流传着有各种各样的解法 为了测试这些解法的性 ...
- 彻底解决springboot修改页面和代码会自动重启
3.application.yml配置 spring.devtools.restart.enabled=falsespring.thymeleaf.cache=false 1.解决thymeleaf修 ...
- 备忘录(Memento)模式
备忘录模式又叫做快照模式或者Token模式. 备忘录对象是一个用来存储另一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来 ...
- 如何用Python制作优美且功能强大的数据可视化图像
第一个案例 首先开始来绘制你的第一个图表 from pyecharts import Bar '''遇到不懂的问题?Python学习交流群:1004391443满足你的需求,资料都已经上传群文件,可以 ...
- NodeJS安装及部署(Linux系统)
环境说明:Linux环境,CentOS 7版本. 第一步:下载node地址:https://nodejs.org/en/download/ 下载后,是一个[node-v10.16.0-linux-x6 ...
- Prometheus 配置文件详解
Prometheus 配置文件详解 官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/ 指标说 ...
- python 搭建 websocket server 发送 sensor 数据
搞了几天,顺便把代码贴这里,需要的 python 包: gevent,gevent-websocket,bottle,wiringpi-python 简单说明: - gevent 提供了支持 conc ...
- C# ThreadStart中如何带参数
1.ThreadStart 线程执行带参数的方法,new Thread(new ThreadStart(delegate { ThreadTask(firstPage, lastPage); })); ...