Day5_Py模块_1
1. time & datetime模块
-----------------------------------------------------------
>>> import time,datetime
#返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
>>> print(time.clock())
#返回与utc时间的时间差,以秒计算
>>> print(time.altzone)
#返回时间格式"Fri Aug 19 11:14:16 2016"
>>> print(time.asctime())
#返回本地时间 的struct time对象格式
>>> print(time.localtime())
#返回utc时间的struc时间对象格式
>>> print(time.gmtime(time.time()-800000))
#返回时间格式"Fri Aug 19 11:14:16 2016"
>>> print(time.asctime(time.localtime()))
#返回Fri Aug 19 12:38:29 2016 格式, 同上
>>> print(time.ctime())
# 日期字符串 转成 时间戳
#将 日期字符串 转成 struct时间对象格式
>>> string_2_struct = time.strptime("2016/05/22","%Y/%m/%d")
>>> print(string_2_struct)
#将struct时间对象转成时间戳
>>> struct_2_stamp = time.mktime(string_2_struct)
>>> print(struct_2_stamp)
-----------------------------------------------------------
#将时间戳转为字符串格式
#将utc时间戳转换成struct_time格式
>>> print(time.gmtime(time.time()-86640))
#将utc struct_time格式转成指定的字符串格式
>>> print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) )
-----------------------------------------------------------
#时间加减
#返回2017-10-26 23:39:47.623486
>>> print(datetime.datetime.now())
#时间戳直接转成日期格式2017-10-26
>>> print(datetime.date.fromtimestamp(time.time()) )
>>> print(datetime.datetime.now())
#当前时间+3天
>>> print(datetime.datetime.now() + datetime.timedelta(3))
#当前时间-3天
>>> print(datetime.datetime.now() + datetime.timedelta(-3))
#当前时间+3小时
>>> print(datetime.datetime.now() + datetime.timedelta(hours=3))
#当前时间+30分
>>> print(datetime.datetime.now() + datetime.timedelta(minutes=30))
-----------------------------------------------------------
#时间替换
>>> c_time = datetime.datetime.now()
>>> print(c_time.replace(minute=3,hour=2))
2. random模块
#随机数
>>> import random
>>> print(random.random())
>>> print(random.randint(1,2))
>>> print(random.randrange(1,10))
#生成随机验证码
import random
checkcode = ''
for i in range(4):
current = random.randrange(0,4)
if current != i:
temp = chr(random.randint(65,90))
else:
temp = random.randint(0,9)
checkcode += str(temp)
print checkcode
3. os模块
#获取当前工作目录,即当前python脚本工作的目录路径
>>> os.getcwd()
#改变当前脚本工作目录;相当于shell下cd
>>> os.chdir("/home/luoming/python")
#获取当前路径
>>> os.curdir
#获取当前目录的父目录
>>> os.pardir
#创建多级目录
>>> os.makedirs('drop1/drop2')
#如目录为空,则删除,并递归到上级目录,若上级目录也为空,则也删除
>>> os.removedirs('drop3')
#创建单级目录
>>> os.mkdir('Drop')
#删除单级空目录,若目录不为空,则报错
>>> os.rmdir('Drop')
#查看指定路径下所有文件
>>> os.listdir('.')
#删除一个文件
>>> os.remove('soo.py')
#重命名一个目录或文件
>>> os.rename("drop1","Drop1")
#获取指定目录或文件信息
>>> os.stat('/home/luoming')
#输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
>>> os.sep
#输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
>>> os.linesep
#输出用于分割文件路径的字符串
>>> os.pathsep
#输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
>>> os.name
#相当于linux下命令行执行
>>> os.system("hostname")
#获取系统环境变量
>>> os.environ
#返回pash规范化的路径
>>> os.path.abspath('home/luoming/python')
#将path分割成目录和文件名二元组返回
>>> os.path.split('home/luoming/python')
返回path的上级目录。其实就是os.path.split(path)的第一个元素
>>> os.path.dirname('home/luoming/python')
#返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
>>> os.path.basename('home/luoming/python')
#判断path是否存在,存在则返回True
>>> os.path.exists('/home/luoming/python')
#路径是否为绝对路径,是返回True
>>> os.path.isabs('/home/luoming')
#如果路径是一个存在的文件,返回True
>>> os.path.isfile('/home/luoming/python/random.py')
#如果path存在,返回True
>>> os.path.isdir('/home/luoming/python/')
#获取path指向的文件最近的存取时间
>>> os.path.getatime('/home/luoming/python/random.py')
#获取path指向的文件最近的修改时间
>>> os.path.getctime('/home/luoming/python/random.py')
4. sys模块
#命令行参数List,第一个元素是程序本身路径
>>> sys.argv
#退出程序,正常退出时exit(0)
>>> sys.exit(n)
#获取Python解释程序的版本信息
>>> sys.version
#最大的Int值
>>> sys.maxint
#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
>>> sys.path
#返回操作系统平台名称
>>> sys.platform
5. shutil 模块
参考地址:http://www.cnblogs.com/wupeiqi/articles/4963027.html
6. json & pickle 模块
#用于序列化的两个模块
#json,用于字符串 和 python数据类型间进行转换
#pickle,用于python特有的类型 和 python的数据类型间进行转换
#Json模块提供了四个功能:dumps、dump、loads、load
#pickle模块提供了四个功能:dumps、dump、loads、load
>>> import pickle
>>> data = {'k1':123,'k2':'hello'}
#pickle.dumps将数据通过特殊的形式转换为只有py语言认识的字符串
>>> p_str = pickle.dumps(data)
>>> print(p_str)
b'\x80\x03}q\x00(X\x02\x00\x00\x00k1q\x01K{X\x02\x00\x00\x00k2q\x02X\x05\x00\x00\x00helloq\x03u.'
#pickle.dump将数据通过特殊的形式转换为只有py语言认识的字符串,并写入文件
>>> with open('/home/luoming/python/random.py','w') as fp:
pickle.dump(data,fp)
>>> j_str = json.dumps(data)
>>> print(j_str)
{"k1": 123, "k2": "hello"}
Day5_Py模块_1的更多相关文章
- day22 模块_1
核能来袭--模块 1.简单了解模块 2.Collections 3.Time模块 4.functools 一.初识模块 其实之前写的每一个PY文件都是一个模块 还有一些我们一直在使用的模块 buil ...
- Spider--补充--Re模块_1
# @ Author : Collin_PXY # 正则表达式: import re # 1,分步写法: # 1)rule.search(string) pattern='各小区' rule=re.c ...
- EasyUI基础入门之Easyloader(载入器)
在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...
- Spider_知识目录_基础
知识目录 静态网页抓取 Spider_基础总结1_Request(get/post__url传参_headers_timeout)+Reponse Spider_基础总结2_Requests异常 Sp ...
- Windows提高_1.2遍历进程、遍历模块
进程 什么是进程? 通俗的来讲,进程就是一个运行中的程序,最少包含一个虚拟空间,通常是 4 GB大小,一组提供数据和代码的模块,通产是 dll 和 exe 文件,一个进程内核对象和最少一个线程. 进程 ...
- Python笔记_第四篇_高阶编程_正则表达式_1.正则表达式简介(re模块)
1. 从一个判断手机号的问题引入: 如果给你一个字符串,去判断是否是一个手机号码,我们通过之前的学习可以有如下代码: # 如果用普通的方式去检验一个电话号码非常麻烦. def checkPhone(s ...
- asp.net后台管理系统-登陆模块-路由权限控制_1
using System.Web.Routing; //重写System.Web.Routing中Initialize方法 protected override void Initialize(Req ...
- 基于ThinkPHP3的微信平台开发_1
微信公众平台是个好东西,具体的就不说了,我直接说技术>_< 下图为目录结构一览: 微信开发 - 文件目录结构 平台功能: 此次开发的平台是面向多微信公众号.微信多公众号主(下面简称号主)的 ...
- itertools模块
itertools模块中有很多函数,返回的是一个迭代器 参考: http://www.wklken.me/posts/2013/08/20/python-extra-itertools.html#_1
随机推荐
- asp.net(c#)网页跳转 方法小结
返回 打印 asp.net(c#)网页跳转七种方法小结_实用技巧_脚本之家 在asp.net下,经常需要页面的跳转,下面是具体的几种方法.跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于. ...
- kafka学习-坑篇
安装(滤过) 启动(滤过) 坑(开始)--- topic creat完成后准备使用console-produce发布一个topic,错误如下: [-- ::,] WARN [Producer clie ...
- iperf 测试工具
Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性. Iperf可以报告带宽,延迟抖动和数据包丢失.利用Iperf这 ...
- Leaflet获取可视范围内4个顶点
//地图级别改变时发生 map.on("zoomend", function (e) { var zoom_val = e.target.getZoom(); map_drag() ...
- sql的优化
适当的索引 尽量不要有空判断的语句 尽量不要使用不等于条件 尽量不要使用or条件 尽量不要使用左右模糊查询 尽量使用exists代替in 尽量避免一次性返回大数据量
- JS(JavaScript)的进一步了解7(更新中···)
1.Js操作css样式 div.style.width=”100px”.在div标签内我们添加了一个style属性,并设定 了width值.这种写法会给标签带来大量的style属性,跟实际项目是不符. ...
- 关于php下的ajax赋值传值的调试
在tp中, 在js中也可以使用 模板变量替换(比如__PUBLIC__)和 模板函数调用(比如: {:U('..')}) 等. 但是 只有直接放在 相应的 模板文件中, 只有放在index.html之 ...
- 论文笔记:Decoders Matter for Semantic Segmentation: Data-Dependent Decoding Enables Flexible Feature Aggregation
Decoders Matter for Semantic Segmentation: Data-Dependent Decoding Enables Flexible Feature Aggregat ...
- 论文笔记:Learning Attribute-Specific Representations for Visual Tracking
Learning Attribute-Specific Representations for Visual Tracking AAAI-2019 Paper:http://faculty.ucmer ...
- UVA10163 Storage Keepers (动态规划)
$dp[i][j]$表示前$i$个仓库由前$j$个人来守卫能取得的最大安全值: $cost[i][j]$表示前$i$个仓库由前$j$个人来守护在能取得的最大安全值的情况下的最小花费. AC代码 //# ...