码迷,mamicode.com
首页 > 编程语言 > 详细

Python之路【第五篇】:Python基础(20)——模块、序列化、os模块

时间:2016-06-18 01:16:11      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

常用模块

time模块

time.time()

import time
import datetime
print(time.time()) # 返回当前时间的时间戳

time.ctime()

print(time.ctime()) # 将时间戳转化为字符串格式Wed Feb 17 11:41:27 2016,默认是当前系统时间的时间戳
print(time.ctime(time.time()-3600)) # ctime可以接收一个时间戳作为参数,返回该时间戳的字符串形式 Wed Feb 17 10:43:04 2016

time.gtime()

print(time.gmtime()) # 将时间戳转化为struct_time格式,默认是当前系统时间戳
print(time.gmtime(time.time() - 3600))

time.localtime()

print(time.localtime()) # 同样是将时间戳转化为struct_time,只不过显示的是本地时间,gmtime显示的是标准时间(格里尼治时间)

time.mktime()

print(time.mktime(time.localtime())) # 将struct_time时间格式转化为时间戳

time.strftime()

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 将struct_time时间格式转化为自定义的字符串格式

time.trptime()

print(time.strptime("2016-02-17", "%Y-%m-%d")) # 与trftime相反,将字符串格式转化为struct_time格式

time.asctime()

print(time.asctime(time.localtime())) # 将struct_time转化为字符串形式

datetime模块

  • datetime.date:表示日期的类。常用的属性有year, month, day
  • datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond
  • datetime.datetime:表示日期时间
  • datetime.timedelta: 表示时间间隔,即两个时间点之间的长度

datetime.date.today()

print(datetime.date.today()) # 返回当前日期的字符串形式2016-02-17

datetime.date.fromtimestamp()

print(datetime.date.fromtimestamp(time.time() - 3600 * 24)) # 将时间戳转化为日期字符串形式2016-02-16

datetime.datetime.now()

print(datetime.datetime.now()) # 返回的时间的字符串形式2016-02-17 13:53:30.719803
print(datetime.datetime.now().timetuple()) # 转化为struct_time格式

datetime.timedelta()

datetime.timedelta()返回的是一时间间隔对象,常与datetime.datetime.now()合用计算时间

print(datetime.datetime.now() - datetime.timedelta(days = 2))

random模块

random模块主要用来生成随机数

random()

生成大于0小于1的浮点类型随机数

print(random.random()) #生成大于0小于1的浮点类型随机数

序列化

Python中用于序列化的两个模块

  • json     用于【字符串】和 【python基本数据类型】 间进行转换
  • pickle   用于【python特有的类型】 和 【python基本数据类型】间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

技术分享

os模块

提供对操作系统进行调用的接口

>>> import os
>>> os.getcwd() # 获取当前工作目录,类似linux的pwd命令
/data/python/day5
>>> os.chdir(..) # 进入某个目录,类似linux的cd命令
>>> os.getcwd() 
/data/python
>>> os.curdir # 获取当前目录
.
>>> os.pardir # 获取当前目录的父目录
..
>>> os.chdir(day5)
>>> os.getcwd()
/data/python/day5
>>> os.makedirs(testdir1/testdir2) # 递归创建目录相当于 mkdir -p命令
>>> os.makedirs(test_dir1/test_dir2) # 递归创建目录相当于 mkdir -p命令
>>> os.listdir(.) # 显示目录下多所有文件 相当于linux的ls -a
[test_dir1]
>>> os.removedirs(test_dir1/test_dir2) # 删除多级(递归)目录,注意目录必须是空的,若目录为空删除,并递归到上以及目录,如果也为空则也删除
>>> os.mkdir(test2) # 创建目录,相当于mkdir
>>> os.rmdir(test2) # 删除目录,相当于rm

>>> f = open(test.txt, w)
>>> f.write(testline)
8
>>> f.close()
>>> os.listdir()             
[testdir2, test.txt, testdir1]
>>> os.rename(test.txt, new_test.txt) #重命名
>>> os.stat(.) # 显示目录或文件的状态,包括权限等
os.stat_result(st_mode=16877, st_ino=786731, st_dev=64784, st_nlink=4, st_uid=0, st_gid=0, st_size=4096, st_atime=1455695375, st_mtime=1455696066, st_ctime=1455696066)
>>> os.sep # 获取文件分割符,linux为/,windows为\\
/
>>> os.name # 返回平台名,linux为posix,win为nt
posix
>>> os.linesep # 返回系统换行符,win下为\r\n
\n
>>> os.pathsep # 返回用于分割文件路径的字符串,vin下为;
:
>>> os.system(ls) # 执行shell命令
testdir1  testdir2
0
>>> os.environ # 获取系统环境变量
environ({USER: root, PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin, SHELL: /bin/bash, HOME: /root, SHLVL: 1, HISTTIMEFORMAT: %
...省略n多好...
>>> os.path.abspath(.) # 返回目录的绝对路径
/data/python/day5
>>> os.path.split(/data/python/day5) # 将path分割成目录和文件,元祖返回
(/data/python, day5) 
>>> os.path.dirname(/data/python/day5) # 返回path也即是split的第一个元素
/data/python
>>> os.path.basename(/data/python/day5) # 返回文件名也即是split的第一个元素
day5 
>>> os.path.exists(/data/python/day5) # 判断目录或文件是否存在
True
>>> os.path.isabs(/data/python/day5) # 判断是否是绝对目录,不考虑是否存在,说白了就是字符串符合绝对路径的规范就返回True
True
>>> os.path.isabs(day5)          
False
>>> os.path.isabs(/data/python/day6) # 
True
>>> os.path.isfile(/data/python/day5) # 判断是否是文件
False
>>> os.path.isdir(/data/python/day5) # 判断是否是目录
True
>>> os.path.isdir(/data/python/day6)
False
>>> os.path.join(/data/python/day6, test) # 组合目录
/data/python/day6/test
>>> os.path.getatime(/data/python/day5) # 返回文件或目录的最后访问时间
1455695375.9394312
>>> os.path.getmtime(/data/python/day5) # 返回文件或目录的最后修改时间
1455696066.0034554
>>> os.path.getctime(/data/python/day5) # 返回文件或目录的创建时间
1455696066.0034554

 

Python之路【第五篇】:Python基础(20)——模块、序列化、os模块

标签:

原文地址:http://www.cnblogs.com/jiangnanmu/p/5595459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!