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)) ...
随机推荐
- xilinx SDK开发 GPIO使用API总结
t_v GPIO常用函数 1.XGpio_Config *XGpio_LookupConfig(u16 DeviceId) 功能:根据输入设备ID查找该设备. 输入:设备ID. 输出:若找到该设备ID ...
- cad问题小百科 持续更新
一些浩辰的问题移步去: 浩辰问题 (浩辰可能和桌子具有相同的问题,所以这篇你可能还是要看 cad2007遇到了这种情况 安装问题安装CAD出现C++2005问题的解决方法,出现此问题,原 ...
- docker 学习操作记录 5
记录5 * Overheard at KubeCon: "microk8s.status just blew my mind". https://microk8s.io/docs/ ...
- WIndowsServer ---------- 将本地文件映射到服务器
我们在进行在文件中传递文件的时候,对于一些文件比较大的话就很难传递成功,所以可以同过文件映射, 将需要的文件所在的盘符映射到服务器中,在服务其中进行文件传递. 1.找到电脑中的远程桌面,在附件或控制面 ...
- Vim 入门教程
Vim 入门教程 转载请保留以上信息 Vim 的教程相对比较零散,系统的教程比较少,我也阅读过不少教程,走过很 多弯路.借着 Vim-china 组织组建这一契机,整理下自己学习过的内容, 分享给大家 ...
- CentOS7 下 yum 安装 Docker CE
前言 Docker 使用越来越多,安装也很简单,本次记录一下基本的步骤. Docker 目前支持 CentOS 7 及以后的版本,内核要求至少为 3.10. Docker 官网有安装步骤,本文只是记录 ...
- python 笔记——生成器和迭代器
#-*- coding:utf-8 -*- a=[1,2,3,4] for i,j in enumerate(a): print i,j '''只有ij时,''' a=[1,2,3,4] for i ...
- docker离线导入导出镜像
docker save -o mysqlies.tar 5ada6380f248(镜像id) # 镜像id是要导出的 有镜像的机器 在有镜像的机器上执行docker load --input ...
- 总结:WPF中MultiBinding多值绑定的方法
原文:总结:WPF中MultiBinding多值绑定的方法 一.Xaml中绑定代码: <TextBlock Grid.Row="5" Grid.Column="3 ...
- vs2017专业版和企业版的密钥
Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH