Python 模块学习(一)
一、时间模块
import time # 模块调用语句 注意:模块级导入一般放在文件顶部
import datetime print(time.time()) # 1550411181.441547: 时间戳
time.sleep(3) # CPU不工作,停止3秒
print(time.clock()) # 7.331190182070108e-07 计算CPU工作的时间 print(time.gmtime()) # UTC世界标准时间(英国):time.struct_time(tm_year=2019, tm_mon=2,
# tm_mday=17, tm_hour=13, tm_min=54, tm_sec=45, tm_wday=6, tm_yday=48, tm_isdst=0) print(time.localtime()) # 本地时间:time.struct_time(tm_year=2019, tm_mon=2, tm_mday=17,
# tm_hour=21, tm_min=59, tm_sec=18, tm_wday=6, tm_yday=48, tm_isdst=0) print(time.strftime('%Y-%m-%d %H:%M:%S')) # (重要)字符串(格式化)时间:2019-02-17 22:03:39 print(time.strptime('2019-02-17 22:03:39', '%Y-%m-%d %H:%M:%S')) # 时间结构的转换,输出见下行:
# time.struct_time(tm_year=2019,tm_mon=2,tm_mday=17,tm_hour=22,tm_min=3,tm_sec=39,tm_wday=6,tm_yday=48,tm_isdst=-1
) # 单独提取某个时间类型
a = time.strptime('2019-02-17 22:03:39', '%Y-%m-%d %H:%M:%S')
print(a.tm_year) # 年 2019
print(a.tm_mon) # 月 2
print(a.tm_mday) # 日 17
print(a.tm_hour) # 时 22
print(a.tm_min) # 分 3
print(a.tm_sec) # 秒 39
print(a.tm_yday) # 一年的第多少天 48
print(a.tm_wday) # 一周的第多少天 6 print(time.ctime()) # 默认为空 打印当前时间:Sun Feb 17 22:18:13 2019
print(time.ctime(3600)) # 把一个数转换为时间 从1970年开始计算
print(time.mktime(time.localtime())) # 把当前时间转换为时间戳:1550413367.0 print(datetime.datetime.now()) # 打印当前时间,友好表达方式:2019-02-28 14:33:37.570078
二、随机数模块
import random print(random.random()) # 生成一个0-1的随机数
print(random.randint(1, 8)) # 随机生成一个1-8之间的随机整数(包括8)
print(random.choice('sadasfga')) # 随机取出字符串中的一个字母
print(random.sample('asfafaffgh', 2)) # 从一个序列里面随机取出两个
print(random.randrange(1, 3)) # 1-3随机取出一个,不包括3
例:随机生成一个5位数的验证码,包含数字和字母
def v_code():
code = ''
for i in range(5):
if i == random.randint(0, 3):
add = random.randrange(10) # 0-9随机取出一个数
else:
add = random.randrange(65, 90) # 26个字母的ASCII值是65-90
add = chr(add) # 把ASCII转换为字母 code += str(add) # 字符串拼接 print(code)
法二:比上述方法更加简单
def v_code():
code = ''
for i in range(5):
add = random.choice([random.randrange(10), chr(random.randrange(65, 90))])
code += str(add) # 字符串拼接 print(code) v_code()
三、hashlib 加密模块
import hashlib # 两种方法:MD5和SHA两种加密方法 不可逆结果 # MD5 算法
m = hashlib.md5() m.update('hello world'.encode('utf8')) # python3 默认utf8编码
print(m.hexdigest()) # 获取加密结果(16进制):5eb63bbbe01eeed093cb22bb8f5acdc3 m.update('long'.encode('utf8'))
print(m.hexdigest()) # 7e5181dfabb9edf08a7075a8c18b0343 在前一次转换的基础上进行转换,相当于对'hello worldlong'进行转换 m2 = hashlib.md5()
m2.update('hello worldlong'.encode('utf8'))
print(m2.hexdigest()) # 7e5181dfabb9edf08a7075a8c18b0343 # SHA 算法
m = hashlib.sha256()
m.update('hello world'.encode('utf8'))
print(m.hexdigest()) # 算法更复杂:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
四、sys模块
1.解释器进行交互:通过传入的参数决定程序执行那段代码
import sys # 解释器进行交互 print(sys.argv) # 输出的当前路径 def post():
print('ok') def download():
pass if sys.argv[1] == 'post':
post()
elif sys.argv[1] == 'downlod':
download()
打开电脑cmd,在文件路径下用python执行该程序
输出列表,列表的第一个元素存的是文件名,可以在“python sys模块.py” 后面加参数控制程序的执行:
注意:一般情况参数越多程序越灵活
2.常见使用:
import sys sys.exit(0) # 退出程序,可以加参数,正常退出是exit(0) print(sys.platform) # win32 返回windows的平台,可以做跨平台的判断
print(sys.version) # 获取python解释器的当前版本信息
print(sys.path) # 返回模块的搜索路径,初始化时使用pythonpath环境变量的值
print(sys.platform) # 返回操作平台名称:win32
print(sys.path.append()) # 路径添加,如果要使用的模块不在python里,在另外的文件下,就需要添加绝对路径
Python 模块学习(一)的更多相关文章
- 【转】Python模块学习 - fnmatch & glob
[转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...
- 【目录】Python模块学习系列
目录:Python模块学习笔记 1.Python模块学习 - Paramiko - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...
- Python模块学习filecmp文件比较
Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...
- python模块学习第 0000 题
将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果: 好可爱>%<! 题目来源:https://github.com/Yixiao ...
- Python模块学习:logging 日志记录
原文出处: DarkBull 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net ...
- 解惑Python模块学习,该如何着手操作...
Python模块 晚上和朋友聊天,说到公司要求精兵计划,全员都要有编程能力.然后C.Java.Python-对于零基础入门的,当然是选择Python的人较多了.可朋友说他只是看了简单的语法,可pyth ...
- Python模块学习
6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...
- Python模块学习系列
python模块-time python模块-datetime python模块-OS模块详解
- Python模块学习遇到的问题
Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案 Python使用import导入模块 ...
- Python 模块学习:re模块
今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. 方法/属性 作用 match() 决定 R ...
随机推荐
- USACO Training3.2 01串 By cellur925
题目传送门 一句话题意:求长度为n的有m个1的大小为第k个的01串. 暑假我做的时候是真·大暴力,用二进制枚举,55分,成功T掉无数点. 正解:开始可以用计数类dp来“预处理”,状态和转移都比较好想. ...
- 51Nod 1019 逆序数 (归并排序)
#include <iostream> #include <cstring> using namespace std; ; int a[maxn]; int res[maxn] ...
- nth Permutation LightOJ - 1060
nth Permutation LightOJ - 1060 题意:给定一个小写字母组成的字符串,对其中所有字母进行排列(排列组合的排列),将所有生成的排列按字典序排序,求排序后第n个排列. 方法:按 ...
- ForeignKeyConstraint 外键约束的使用及作用的学习[转]
原文链接 da.SelectCommand.CommandText="select au_id,au_fname,au_lname from authors"; da.Fill(d ...
- 一个因xdata声明引起的隐含错误
我们知道一般增强型c51自身的RAM只有128BYTES,根本不够用,所以一般在定义全局变量,静态变量时都要用XDATA作为关键字修饰数据的的存储类型.但要注意的是,定义和声明一定要一致,不然出现错误 ...
- AJPFX总结Java 程序初始化过程
觉得Core Java在Java 初始化过程的总体顺序没有讲,只是说了构造器时的顺序,作者似乎认为路径很多,列出来比较混乱.我觉得还是要搞清楚它的过程比较好.所以现在结合我的学习经验写出具体过程: 过 ...
- BigDecimal取余运算
取余运算在编程中运用非常广泛,对于BigDecimal对象取余运算可以通过divideAndRemainder方法实现. public BigDecimal[] divideAndRemainder( ...
- iOS 应用程序内部国际化,不跟随系统语言
前言:网络上关于iOS国际化的文章很多,但基本上都是基于跟随系统语言的国际化,笔者就不赘述了-0 – 今天要讲的是不跟随系统的切换语言版本方案,即程序内部的切换语言版本方案. 一.总则: 应用内部语言 ...
- MyBatis学习(四)
前言 最近比较松懈,下班回家后也懒得学习了.今晚实在是看不下去了,争取时间学习.社会上有这么多的资源,就看谁能抢的多吧.今天就说说MyBatis的动态SQL吧 正文 动态 SQL 通常要做的事情是有条 ...
- JavaScript 声明全局变量与局部变量
一.JavaScript 声明全局变量的三种方式: 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量.该方式即 ...