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

常用模块

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
时间: 2024-10-14 18:09:52

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

Python之路【第二篇】:Python基础(一)

Python之路[第二篇]:Python基础(一) 入门知识拾遗 一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 1 2 3 if 1==1:     name = 'wupeiqi' print  name 下面的结论对吗? 外层变量,可以被内层变量使用 内层变量,无法被外层变量使用 二.三元运算 1 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进

Python之路【第九篇】:Python基础(26)——socket server

socketserver Python之路[第九篇]:Python基础(25)socket模块是单进程的,只能接受一个客户端的连接和请求,只有当该客户端断开的之后才能再接受来自其他客户端的连接和请求.当然我 们也可以通过python的多线程等模块自己写一个可以同时接收多个客户端连接和请求的socket.但是这完全没有必要,因为python标准库已经为 我们内置了一个多线程的socket模块socketserver,我们直接调用就可以了,完全没有必要重复造轮子. 我们只需简单改造一下之前的sock

Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memc

【Python五篇慢慢弹(4)】模块异常谈python

模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简单冗余知识不再介绍,作者假使你用c/java/c#/c++任一种语言基础.本系列文章属于入门内容,老鸟可以略看也可以略过,新鸟可以从篇一<快速上手学python>先接触下python怎样安装与运行,以及pycharm编辑器的使用和配置:

七日Python之路--第五天(之找点乐子)

(一)一些闲言碎语 刚才在搜索的时候,看到别人说的一句话,大体意思如下:自从学习Python之后,就不想在学习其他语言了,只想抓紧时间写些有用的东西.细想一下,果真如此. 唉,Python魅力如此之大.感觉比Java容易的多,也可能是小众语言,因为足够小才显得足够强大.算了,不愿多想,还是多写些有意思的东西吧,哈哈. (二)一些有趣的代码 (1)一句话文件服务器 [email protected]:~$ python -m SimpleHTTPServer Serving HTTP on 0.0

python学习记录第五篇--遍历目录

#coding=utf-8'''@author: 简单遍历目录删除文件的小程序'''import os#查找文件操作def findFile(path): fileList=[] for rootPath,subRoot,fileName in os.walk(path): for sub in fileName: if os.path.isfile(os.path.join(rootPath,sub)): k=os.path.splitext(sub)[1].lower() if k in (

Python之路番外:PYTHON基本数据类型和小知识点

Python之路番外:PYTHON基本数据类型和小知识点 一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and (car == "moving"): car = "stop" else : pass 等同于 if (signal == "red") and (car == "moving"): car = "stop"

【python】glob模块、os模块

http://www.cnblogs.com/hongten/p/hongten_python_glob.html http://wenku.baidu.com/link?url=AgUq9_yQVjQ_uivEgjWEg9HNQ9bqXqY_efk_vtdPerzcTEkU-mgXFPZWckX8fwVaU_mNsZO5PUdVzjDbX4HtY5baiqxWNtF-rnIOzfGDfYm http://www.cnpythoner.com/post/92.html [python]glob模

Python中常用的模块(OS模块)

一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> import os #导入os模块>>> help(os)   #查看os模块帮助文档,里面详细的模块相关函数和使用方法 二.OS模块重要函数和变量: 1 ).os.sep 更改操作系统中的路径分隔符.2 ).os.getcwd()获取当前路径,这个在Python代码中比较常用.3 ).os.

Python常用模块——系统调用os模块

Python常用模块--系统调用os模块 OS模块 os模块提供了很多允许你的程序与操作系统直接交互的功能. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r"c:\python") 检验给出的路径是否是一个文件:os.path.isfile() 检验给出的路径是否是一个目录:os.path.isdir(