Python常用内置模块
- time模块
- datetime模块
- sys模块
- random模块
- stat模块
- string模块
- math模块
- urllib模块
time模块
有以下几种方式来表示时间:
- 时间戳
- 格式化的时间字符串(时间对象)
- 元组(struct_time)共九个元素,由于python的time模块实现主要调用C库,所以各个平台可能不同
时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,我们运行type(time.time()),返回的就是float类型。
元组(tuple_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime(),下面列出这种方式元组中的几个元素:
索引(Index) | 属性Attribute | 值(Values) |
---|---|---|
0 | tm_year(年) | 比如2011 |
1 | tm_mon(月 | 1 - 12 |
2 | tm_day(日) | 1-31 |
3 | tm_hour(时) | 0-23 |
4 | tm_min(分) | 0-59 |
5 | tm_sec(秒) | 0-59 |
6 | tm_wday(星期) | 0 - 6(0表示周日) |
7 | tm_yday(一年中的第几天) | 1-366 |
8 | tm_isdst(是否是夏令时) | 默认为1 |
时间类型的相互转换
import time
t = time.time()
s = time.ctime(t) # 时间戳->字符串
t1 = time.localtime(t) # 时间戳->元组
t2 = time.mktime(t1) # 元组->时间戳
t3 = time.strftime('%Y-%m-%d %H:%M:%S') # 元组->字符串
t4 = time.strptime('2021/1/1', '%Y/%m/%d') # 字符串->元组
datetime模块
datetime.date.today() 本地日期对象,(用str函数可得到它的字面表示(2014-03-24))
datetime.date.isoformat(obj) 当前[年-月-日]字符串表示(2014-03-24)
datetime.date.fromtimestamp() 返回一个日期对象,参数是时间戳,返回 [年-月-日]
datetime.date.weekday(obj) 返回一个日期对象的星期数,周一是0
datetime.date.isoweekday(obj) 返回一个日期对象的星期数,周一是1
datetime.date.isocalendar(obj) 把日期对象返回一个带有年月日的元组
datetime对象:
datetime.datetime.today() 返回一个包含本地时间(含微秒数)的datetime对象 2014-03-24 23:31:50.419000
datetime.datetime.now([tz]) 返回指定时区的datetime对象 2014-03-24 23:31:50.419000
datetime.datetime.utcnow() 返回一个零时区的datetime对象
datetime.fromtimestamp(timestamp[,tz]) 按时间戳返回一个datetime对象,可指定时区,可用于strftime转换为日期表示
datetime.utcfromtimestamp(timestamp) 按时间戳返回一个UTC-datetime对象
datetime.datetime.strptime(‘2014-03-16 12:21:21‘,”%Y-%m-%d %H:%M:%S”) 将字符串转为datetime对象
datetime.datetime.strftime(datetime.datetime.now(), ‘%Y%m%d %H%M%S‘) 将datetime对象转换为str表示形式
datetime.date.today().timetuple() 转换为时间戳datetime元组对象,可用于转换时间戳
datetime.datetime.now().timetuple()
time.mktime(timetupleobj) 将datetime元组对象转为时间戳
time.time() 当前时间戳
time.localtime
sys模块
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.modules.keys() 返回所有已经导入的模块列表
sys.modules 返回系统导入的模块字段,key是模块名,value是模块
sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n) 退出程序,正常退出时exit(0)
sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version 获取Python解释程序的版本信息
sys.platform 返回操作系统平台名称
sys.stdout 标准输出
sys.stdout.write(‘aaa‘) 标准输出内容
sys.stdout.writelines() 无换行输出
sys.stdin 标准输入
sys.stdin.read() 输入一行
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版本
sys.version_info ‘final‘表示最终,也有‘candidate‘表示候选,表示版本级别,是否有后继的发行
sys.getdefaultencoding() 返回当前你所用的默认的字符编码格式
sys.getfilesystemencoding() 返回将Unicode文件名转换成系统文件名的编码的名字
sys.builtin_module_names Python解释器导入的内建模块列表
sys.executable Python解释程序路径
sys.getwindowsversion() 获取Windows的版本
sys.stdin.readline() 从标准输入读一行,sys.stdout.write(“a”) 屏幕输出a
sys.setdefaultencoding(name) 用来设置当前默认的字符编码(详细使用参考文档)
sys.displayhook(value) 如果value非空,这个函数会把他输出到sys.stdout(详细使用参考文档)
random模块
print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
random.shuffle(x[, random])
#用于将一个列表中的元素打乱,即将列表内的元素随机排列。
random.sample(sequence, k)
#从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列。
random.seed(a=None, version=2) 初始化随机数生成器。如果 a 被省略或为 None ,则使用当前系统时间。 如果操作系统提供随机源,则使用它们而不是系统时间(有关可用性的详细信息,请参阅 os.urandom() 函数)。
#如果 a 是 int 类型,则直接使用。<br>对于版本2(默认的),str 、 bytes 或 bytearray 对象转换为 int 并使用它的所有位。<br>对于版本1(用于从旧版本的Python再现随机序列),用于 str 和 bytes 的算法生成更窄的种子范围。<br>在 3.2 版更改: 已移至版本2方案,该方案使用字符串种子中的所有位。
random.getstate() 返回捕获生成器当前内部状态的对象。 这个对象可以传递给 setstate() 来恢复状态。
random.setstate(state) state 应该是从之前调用 getstate() 获得的,并且 setstate() 将生成器的内部状态恢复到 getstate() 被调用时的状态。
random.getrandbits(k) 返回带有 k 位随机的Python整数。 此方法随 MersenneTwister 生成器一起提供,其他一些生成器也可以将其作为API的可选部分提供。 如果可用,getrandbits() 启用 randrange() 来处理任意大范围。
random.randrange(start, stop[, step]) 从 range(start, stop, step) 返回一个随机选择的元素。 这相当于 choice(range(start, stop, step)) ,但实际上并没有构建一个 range 对象。
random.randint(a, b) 返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)。
random.choice(seq) 从非空序列 seq 返回一个随机元素。 如果 seq 为空,则引发 IndexError。
random.shuffle(x[, random]) 将序列 x 随机打乱位置。可选参数 random 是一个0参数函数,在 [0.0, 1.0) 中返回随机浮点数;默认情况下,这是函数 random() 。
random.sample(population, k) 返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。返回包含来自总体的元素的新列表,同时保持原始总体不变。 结果列表按选择顺序排列,因此所有子切片也将是有效的随机样本。 这允许抽奖获奖者(样本)被划分为大奖和第二名获胜者(子切片)。
random.random() 返回 [0.0, 1.0) 范围内的下一个随机浮点数。
random.uniform(a, b) 返回一个随机浮点数 N ,当 a <= b 时 a <= N <= b ,当 b < a 时 b <= N <= a 。取决于等式 a + (b-a) * random() 中的浮点舍入,终点 b 可以包括或不包括在该范围内。
random.triangular(low, high, mode) 返回一个随机浮点数 N ,使得 low <= N <= high 并在这些边界之间使用指定的 mode 。 low 和 high 边界默认为零和一。 mode 参数默认为边界之间的中点,给出对称分布。
random.betavariate(alpha, beta) Beta 分布。 参数的条件是 alpha > 0 和 beta > 0。 返回值的范围介于 0 和 1 之间。
random.expovariate(lambd) 指数分布。 lambd 是 1.0 除以所需的平均值,它应该是非零的。 (该参数本应命名为 “lambda” ,但这是 Python 中的保留字。)如果 lambd 为正,则返回值的范围为 0 到正无穷大;如果 lambd 为负,则返回值从负无穷大到 0。
random.gammavariate(alpha, beta) Gamma 分布。 ( 不是 gamma 函数! ) 参数的条件是 alpha > 0 和 beta > 0。
random.gauss(mu, sigma) 高斯分布。 mu 是平均值,sigma 是标准差。 这比下面定义的 normalvariate() 函数略快。
random.lognormvariate(mu, sigma) 对数正态分布。 如果你采用这个分布的自然对数,你将得到一个正态分布,平均值为 mu 和标准差为 sigma 。 mu 可以是任何值,sigma 必须大于零。
random.normalvariate(mu, sigma) 正态分布。 mu 是平均值,sigma 是标准差。
random.vonmisesvariate(mu, kappa) 冯·米塞斯(von Mises)分布。 mu 是平均角度,以弧度表示,介于0和 2*pi 之间,kappa 是浓度参数,必须大于或等于零。 如果 kappa 等于零,则该分布在 0 到 2*pi 的范围内减小到均匀的随机角度。
random.paretovariate(alpha) 帕累托分布。 alpha 是形状参数。
random.weibullvariate(alpha, beta) 威布尔分布。 alpha 是比例参数,beta 是形状参数。
stat模块
描述os.stat()返回的文件属性列表中各值的意义
fileStats = os.stat(path) 获取到的文件属性列表
fileStats[stat.ST_MODE] 获取文件的模式
fileStats[stat.ST_SIZE] 文件大小
fileStats[stat.ST_MTIME] 文件最后修改时间
fileStats[stat.ST_ATIME] 文件最后访问时间
fileStats[stat.ST_CTIME] 文件创建时间
stat.S_ISDIR(fileStats[stat.ST_MODE]) 是否目录
stat.S_ISREG(fileStats[stat.ST_MODE]) 是否一般文件
stat.S_ISLNK(fileStats[stat.ST_MODE]) 是否连接文件
stat.S_ISSOCK(fileStats[stat.ST_MODE]) 是否COCK文件
stat.S_ISFIFO(fileStats[stat.ST_MODE]) 是否命名管道
stat.S_ISBLK(fileStats[stat.ST_MODE]) 是否块设备
stat.S_ISCHR(fileStats[stat.ST_MODE]) 是否字符设置
string模块
str.capitalize() 把字符串的第一个字符大写
str.center(width) 返回一个原字符串居中,并使用空格填充到width长度的新字符串
str.ljust(width) 返回一个原字符串左对齐,用空格填充到指定长度的新字符串
str.rjust(width) 返回一个原字符串右对齐,用空格填充到指定长度的新字符串
str.zfill(width) 返回字符串右对齐,前面用0填充到指定长度的新字符串
str.count(str,[beg,len]) 返回子字符串在原字符串出现次数,beg,len是范围
str.decode(encodeing[,replace]) 解码string,出错引发ValueError异常
str.encode(encodeing[,replace]) 解码string
str.endswith(substr[,beg,end]) 字符串是否以substr结束,beg,end是范围
str.startswith(substr[,beg,end]) 字符串是否以substr开头,beg,end是范围
str.expandtabs(tabsize = 8) 把字符串的tab转为空格,默认为8个
str.find(str,[stat,end]) 查找子字符串在字符串第一次出现的位置,否则返回-1
str.index(str,[beg,end]) 查找子字符串在指定字符中的位置,不存在报异常
str.isalnum() 检查字符串是否以字母和数字组成,是返回true否则False
str.isalpha() 检查字符串是否以纯字母组成,是返回true,否则false
str.isdecimal() 检查字符串是否以纯十进制数字组成,返回布尔值
str.isdigit() 检查字符串是否以纯数字组成,返回布尔值
str.islower() 检查字符串是否全是小写,返回布尔值
str.isupper() 检查字符串是否全是大写,返回布尔值
str.isnumeric() 检查字符串是否只包含数字字符,返回布尔值
str.isspace() 如果str中只包含空格,则返回true,否则FALSE
str.title() 返回标题化的字符串(所有单词首字母大写,其余小写)
str.istitle() 如果字符串是标题化的(参见title())则返回true,否则false
str.join(seq) 以str作为连接符,将一个序列中的元素连接成字符串
str.split(str=‘‘,num) 以str作为分隔符,将一个字符串分隔成一个序列,num是被分隔的字符串
str.splitlines(num) 以行分隔,返回各行内容作为元素的列表
str.lower() 将大写转为小写
str.upper() 转换字符串的小写为大写
str.swapcase() 翻换字符串的大小写
str.lstrip() 去掉字符左边的空格和回车换行符
str.rstrip() 去掉字符右边的空格和回车换行符
str.strip() 去掉字符两边的空格和回车换行符
str.partition(substr) 从substr出现的第一个位置起,将str分割成一个3元组。
str.replace(str1,str2,num) 查找str1替换成str2,num是替换次数
str.rfind(str[,beg,end]) 从右边开始查询子字符串
str.rindex(str,[beg,end]) 从右边开始查找子字符串位置
str.rpartition(str) 类似partition函数,不过从右边开始查找
str.translate(str,del=‘‘) 按str给出的表转换string的字符,del是要过虑的字符
math模块
ceil | 取大于等于x的最小的整数值,如果x是一个整数,则返回x |
copysign | 把y的正负号加到x前面,可以使用0 |
cos | 求x的余弦,x必须是弧度 |
degrees | 把x从弧度转换成角度 |
e | 表示一个常量 |
exp | 返回math.e,也就是2.71828的x次方 |
expm1 | 返回math.e的x(其值为2.71828)次方的值减1 |
fabs | 返回x的绝对值 |
factorial | 取x的阶乘的值 |
floor: | 取小于等于x的最大的整数值,如果x是一个整数,则返回自身 |
fmod | 得到x/y的余数,其值是一个浮点数 |
frexp | 返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围 |
fsum | 对迭代器里的每个元素进行求和操作 |
gcd | 返回x和y的最大公约数 |
hypot | 如果x是不是无穷大的数字,则返回True,否则返回False |
isfinite | 如果x是正无穷大或负无穷大,则返回True,否则返回False |
isinf | 如果x是正无穷大或负无穷大,则返回True,否则返回False |
isnan | 如果x不是数字True,否则返回False |
ldexp | 返回x*(2**i)的值 |
log | 返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base) |
log10 | 返回x的以10为底的对数 |
log1p | 返回x+1的自然对数(基数为e)的值 |
log2 | 返回x的基2对数 |
modf | 返回由x的小数部分和整数部分组成的元组 |
pi | 数字常量,圆周率 |
pow | 返回x的y次方,即x**y |
radians | 把角度x转换成弧度 |
sin | 求x(x为弧度)的正弦值 |
sqrt | 求x的平方根 |
tan | 返回x(x为弧度)的正切值 |
trunc | 返回x的整数部分 |
urllib模块
urllib.quote(string[,safe]) 对字符串进行编码。参数safe指定了不需要编码的字符
urllib.unquote(string) 对字符串进行解码
urllib.quote_plus(string[,safe]) 与urllib.quote类似,但这个方法用‘+‘来替换‘ ‘,而quote用‘%20‘来代替‘ ‘
urllib.unquote_plus(string ) 对字符串进行解码
urllib.urlencode(query[,doseq]) 将dict或者包含两个元素的元组列表转换成url参数。
#例如 字典{‘name‘:‘wklken‘,‘pwd‘:‘123‘} 将被转换为”name=wklken&pwd=123″
urllib.pathname2url(path) 将本地路径转换成url路径
urllib.url2pathname(path) 将url路径转换成本地路径
urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下载远程数据到本地
#filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据)
#reporthook:回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调
#data:指post到服务器的数据
urllib.urlopen(url[,data[,proxies]]) 抓取网页信息,[data]post数据到Url,proxies设置的代理
urlrs.readline() 跟文件对象使用一样
urlrs.readlines() 跟文件对象使用一样
urlrs.fileno() 跟文件对象使用一样
urlrs.close() 跟文件对象使用一样
urlrs.info() 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
urlrs.getcode() 获取请求返回状态HTTP状态码
urlrs.geturl() 返回请求的URL
原文链接:https://blog.csdn.net/qq_45070541/article/details/101079613#t3