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
随机推荐
- golang 中strconv包用法
链接:https://studygolang.com/articles/5003 http://www.cnblogs.com/golove/p/3262925.html
- [十二省联考2019]骗分过样例 luoguP5285 loj#3050
不解释(因为蒟蒻太弱了,肝了一晚受不了了...现在省选退役,这有可能就是我做的最后一题了... #include<bits/stdc++.h> using namespace std; # ...
- composer安装doctrine/dbal
composer安装doctrine/dbal composer安装doctrine/dbal,安装不成功,使用的安装命令为官方提供命令“composer require doctrine/dbal” ...
- ORA-08176 错误的一个案例
在演示事务的read only mode 的时候,因为一个错误有了这个意外的收获.场景是这样的: 在session 1 中执行了如下的语句. SQL> set transaction read ...
- {408} client block at 0x005D4D10, subtype 0, 64 bytes long.a CButton object at $005D4D10, 64 bytes long
现象:mfc动态生成了很多控件,new的,退出时也delet了,但是还是出现了标题的错误 解决:在任何可以执行的地方加代码: CMFCVisualManager ::SetDefaultManager ...
- JS(JavaScript)的进一步了解1(更新中···)
1.作用域链 作用域:浏览器给JS的一个生存环境(栈内存). 作用域链:JS中的关键字var 和function 都可以提前声明和定义.提前声明和定义的内容放在我们的 内存地址(堆内存)中.然后JS从 ...
- 使用NVM管理Node - Windows
安装 NVM NVM 下载:https://github.com/coreybutler/nvm-windows 安装 Node 注意:如果没有FQ默认源可能安装npm失败,请参考下一节“安装 NPM ...
- 关于display的属性:block和inline-block以及inline的区别,float相关说明
首先是block和inline的区别,说通俗点block就是让其形成块级元素,而且其前后都会有换行符:而inline的话就是让元素设置为内联样式(对其设置的宽高都没有什么卵用,不产生效果,但是颜色效果 ...
- GTID做mysql主从时报错
今天在做主从同步时,显示slave_IO线程为NO ,并且报如下错误 Slave_IO_Running: No ... Last_IO_Error: Fatal error: The slave I/ ...
- CSS--block inline inline-block
display:block block元素会独占一行,多个block元素会各自新起一行.默认情况下,block元素宽度自动填满其父元素宽度. block元素可以设置width,height属性.块级元 ...