时间模块

时间分为三种类型:时间戳,结构化时间,格式化时间

#时间模块,time
import time
#时间戳
x = time.time()
time.gmtime() #将时间戳转换成UTC时间元组
y = time.localtime() #将时间戳转换成本地时区的时间元组
print(y)
#结构化数据,为元组的形式
y = time.mktime(y) #将结构化数据转换成时间戳
print(y) #格式化数据
z = time.strftime("%Y-%m-%d %H:%M:%S",y) #将结构化数据转换成格式化数据
#time.strftime("格式","结构化的时间数据(元组)") --->将结构化时间数据转化成格式化时间数据
#time.strptime("格式化时间字符串","格式") ----->按着给定的格式进行匹配格式化时间字符串,并转换成格式化时间数据 示例
# >>> x = time.localtime()
# >>> print(x)
# time.struct_time(tm_year=2017, tm_mon=7, tm_mday=9, tm_hour=23, tm_min=11, tm_se
# c=32, tm_wday=6, tm_yday=190, tm_isdst=0)
# >>> time.strftime("%Y-%m-%d %H:%M:%S",x) #即%Y去匹配tm_year,%m匹配tm_mon,无须注意顺序
# '2017-07-09 23:11:32'
# >>>
# >>> time.strptime('2017-07-09 23:11:32',"%Y-%m-%d %H:%M:%S") %Y 匹配2017,必须注意顺序
# time.struct_time(tm_year=2017, tm_mon=7, tm_mday=9, tm_hour=23, tm_min=11, tm_se
# c=32, tm_wday=6, tm_yday=190, tm_isdst=-1)
#
# time.ctime(x) #将时间戳数据转换成特定格式
# >>> time.ctime(x)
# 'Mon Jul 10 19:26:16 2017'
# >>> time.asctime(y) #将结构化数据转换成特定格式
# 'Mon Jul 10 19:26:45 2017'

时间模块

时间加减

import datetime
print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19
print(datetime.datetime.now() )
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
c_time = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2)) #时间替换

时间转换图

随机模块

 import random
# print(random.randint(1,9))
# print(random.random())
#
# print(random.randrange(2,10,4))
# print(random.sample('chenglv',2))
# print(random.randrange(0,99,2))
# print(random.uniform(1,10))
生成验证码
checkcode = ""
for i in range(4):
x = random.randint(0, 9)
y = random.choice("adbcdefglikopnm")
if i == random.randint(0,3):
tmp = x
else:
tmp = y
checkcode += str(tmp) print(checkcode)

os 模块

 import os
os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") #改变当前脚本工作目录;相当于shell下cd
os.curdir #返回当前目录: ('.')
os.pardir #获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') #可生成多层递归目录
os.removedirs('dirname1') #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') #生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') #删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname') #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() #删除一个文件
os.rename("oldname","newname") #重命名文件/目录
os.stat('path/filename') # 获取文件/目录信息
os.sep #输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep #输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep #输出用于分割文件路径的字符串
os.name #输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") #运行shell命令,直接显示
os.environ #获取系统环境变量
os.path.abspath('dirname') #返回path规范化的绝对路径
os.path.split('dirname') #将path分割成目录和文件名二元组返回
os.path.dirname('dirname') #返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename('dirname') #返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists('dirname') #如果path存在,返回True;如果path不存在,返回False
os.path.isabs('dirname') #如果path是绝对路径,返回True
os.path.isfile('dirname') #如果path是一个存在的文件,返回True。否则返回False
os.path.isdir('dirname') #如果path是一个存在的目录,则返回True。否则返回False
os.path.join('dirname'[, 'dirname'[, ...]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime('dirname') #返回path所指向的文件或者目录的最后存取时间
os.path.getmtime('dirname') #返回path所指向的文件或者目录的最后修改时间

os 模块

sys模块

 import sys
# print(sys.argv[1]) #可以处理传递的参数
# F:\python\oldboy\day5>python os_module.py 1 2 3
#
#
# sys.argv
# F:\python\oldboy\day5>python os_module.py 1 2 3 #1,2,3是参数
# ['os_module.py', '1', '2', '3']
# import time
# for i in range(100):
# time.sleep(0.1)
# sys.stdout.flush() #在控制台输出,flush是立刻输出
# sys.stdout.write('!') #write是输出内容 # print(sys.path)
# print(sys.platform)
print(sys.version) #输出python版本信息

配置更改 模块 configparser

 config = configparser.ConfigParser()
# config["DEFAULT"] ={'ServerAliveInterval':'45',
# 'Compression':'yes',
# 'CompressionLevel':'9'
#
# }
# config['bitbucket.org'] = {}
# config['bitbucket.org']['User'] = 'LC'
# config['topsecret.server.com'] = {}
# topsecret = config['topsecret.server.com']
# topsecret['Host Port'] = '80'
# topsecret['ForwardX11'] = 'no'
# config['DEFAULT']['USER'] = 'LC'
# with open('example.ini','w') as f:
# config.write(f)
config.read('example.txt')
# sec = config.remove_section('bitbucket.org')
# config.write(open('example.txt','w')) # config.add_section('XMMMMMM')
# config.write(open('example.txt','w'))
a = config.has_section('XMMMMMM')
config.set("XMMMMMM","server",'10.1.1.2')
config.write(open('example.txt','w'))

configparser

运行效果,根据需求,可以保存成文件,并通过调用configparser进行修改

[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
user = LC [bitbucket.org]
user = LC [topsecret.server.com]
host port = 80
forwardx11 = no [XMMMMMM]
server = 10.1.1.2

文件压缩,复制模块shutil

 import shutil
# f1 = open("file1",encoding="utf-8")
# f2 = open("file2","w",encoding="utf-8")
# shutil.copyfileobj(f1,f2)
# shutil.copy("file2","file3") #复制文件和权限
# shutil.copystat("file3","file2") #复制权限信息,但是内容不拷贝
# shutil.copyfile() #复制文件
# shutil.copytree() #递归复制,即复制整一个目录,包含内容
# shutil.rmtree() #递归删除,即将目录所有内容删除
# shutil.copymode() #仅拷贝权限,内容,组,用户均不变
# shutil.move() #移动目录
# shutil.make_archive("shutil_archive_test","zip","F:\python\oldboy\day5") #压缩文件名,压缩类型,要压缩的文件目录 import zipfile
z = zipfile.ZipFile("day5.zip","w")
z.write("file2")
z.write("file1")

xml模块

import xml.etree.ElementTree as ET

tree = ET.parse("xmltest.xml")
root = tree.getroot()
print(root.tag) # 遍历xml文档
# for child in root:
# print(child.tag, child.attrib)
# for i in child:
# print(i.tag, i.text,i.attrib)
#
# # 只遍历year 节点
# for node in root.iter('year'):
# print(node.tag, node.text) #修改xml
# for node in root.iter('year'):
# new_year = int(node.text) +1
# node.text = str(new_year)
# node.set("update_by","LC")
# tree.write("xmltest.xml") #删除node
# for country in root.findall('country'):
# rank = int(country.find('rank').text)
# if rank > 50:
# root.remove(country)
# tree.write("output.xml") new_xml = ET.Element("namelist")
name = ET.SubElement(new_xml, "name", attrib={"enrolled": "yes"})
name.text = "XMM"
age = ET.SubElement(name, "age", attrib={"checked": "no"})
sex = ET.SubElement(name, "sex")
sex.text = ''
name2 = ET.SubElement(new_xml, "name", attrib={"enrolled": "no"})
age = ET.SubElement(name2, "age")
age.text = ''
name2.text = "Huang Dou"
et = ET.ElementTree(new_xml) # 生成文档对象
et.write("test.xml", encoding="utf-8", xml_declaration=True) ET.dump(new_xml) # 打印生成的格式

xml模块运行效果

<data>
<country name="Liechtenstein">
<rank updated="yes">2</rank>
<year update_by="LC">2009</year>
<gdppc>141100</gdppc>
<neighbor direction="E" name="Austria" />
<neighbor direction="W" name="Switzerland" />
<info>
<hello1>what1</hello1>
<hello2>what2</hello2>
</info> </country>
<country name="Singapore">
<rank updated="yes">5</rank>
<year update_by="LC">2012</year>
<gdppc>59900</gdppc>
<neighbor direction="N" name="Malaysia" />
</country>
<country name="Panama">
<rank updated="yes">69</rank>
<year update_by="LC">2012</year>
<gdppc>13600</gdppc>
<neighbor direction="W" name="Costa Rica" />
<neighbor direction="E" name="Colombia" />
</country>
</data>

shelve模块:通过shelve模块,实现key,value的存储,即通过shelve模块,可以将k,v的值直接存入文件中,并可以通过shelve直接通过key调用

import shelve
import datetime
d = shelve.open('shelve_test')
info = {'age':22,'job':'it'}
name = ['alex','rain','test']
d['name'] = name #将name信息存入文件中
d['info'] = info
d['date'] = datetime.datetime.now()
d.close() ======
print(d.get('name')) #可以直接获取
print(d.get('info'))
print(d.get('date'))
												

python---内置模块的更多相关文章

  1. python内置模块(4)

    这一部分是python内置模块系列的最后一部分,介绍了一些小巧有用的内置模块. 目录: 1.random 2.shelve 3.getpass 4.zipfile 5.tarfile 6.bisect ...

  2. Python学习笔记【第八篇】:Python内置模块

    什么时模块 Python中的模块其实就是XXX.py 文件 模块分类 Python内置模块(标准库) 自定义模块 第三方模块 使用方法 import 模块名 form 模块名 import 方法名 说 ...

  3. Python内置模块与标准库

    Python内置模块就是标准库(模块)吗?或者说Python的自带string模块是内置模块吗? 答案是:string不是内置模块,它是标准库.也就是说Python内置模块和标准库并不是同一种东西. ...

  4. python内置模块[re]

    python内置模块[re] re模块: python的re模块(Regular Expression正则表达式)提供各种正则表达式的匹配操作,在文本解析.复杂字符串分析和信息提取时是一个非常有用的工 ...

  5. python内置模块[sys,os,os.path,stat]

    python内置模块[sys,os,os.path,stat] 内置模块是python自带功能,在使用内置模块时,需要遵循 先导入在 使用 一.sys 对象 描述 sys.argv 命令行参数获取,返 ...

  6. Python内置模块和第三方模块

    1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...

  7. python内置模块collections介绍

    目录 python内置模块collections介绍 1.namedtuple 2.deque 3.defaultdict 4.OrderedDict 5.ChainMap 6.Counter 7.小 ...

  8. python内置模块介绍(一)

     本文主要介绍模块列表如下: os sys re time datetime random shutil subprocess os模块 os.getcwd()                    ...

  9. python内置模块(time模块)

    常用的python内置模块 一.time模块 在python的三种时间表现形式: 1.时间戳,给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. impor ...

  10. python 内置模块续(二)

    目录 python 内置模块补充 1.hashlib模块 简易使用: 高级使用: 进阶使用: 加盐处理: 校验文件一致性 2.logging日志模块 日志等级 常用处理 "四大天王" ...

随机推荐

  1. Java项目源码为什么要做代码混淆(解释的很好)

    代码混淆,是将计算机程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为.代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码.执行代码混淆的程序被称作代码混淆器.目前已经存在许多种 ...

  2. Android初级教程理论知识(第五章页面跳转和数据传递)

    总体概述: Android四大组件 Activity BroadCastReceiver Service ContentProvider 创建第二个activity 新创建的activity,必须在清 ...

  3. 最近很多人问我:saiku下载不下来

    saiku的前段团队 在UI设计方面很专业.但是兼容性差到让人无语.不知道为什么,是不是不给钱,人家故意黑它. 一直忙别的工作,现在整理一些saiku相关网站,百度不到的,google又要FQ.看个合 ...

  4. Cocos2D:塔防游戏制作之旅(十七)

    getHpDamage方法当敌人到达基地时被调用.你需要添加该方法到Enemy.m的update:方法中去,以便检查当敌人到达基地是会发生什么.幸运的是,你已经在之前的代码中实现这些了,你可以接着往下 ...

  5. 【Android 应用开发】 Fragment 详解

    作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38064191 本博客代码地址 : -- 单一 Fragmen ...

  6. Leetcode_21_Merge Two Sorted Lists

    ->4->4,return 1->2->3->4->5->6. 思路: (1)题意为将两个有序链表合成一个有序链表. (2)首先,分别对链表头结点判空,如果都 ...

  7. 通过iframe引入另外一个项目中的html片段到项目中,解决样式,高度,兼容等问题的策略

     <!--尾部开始--> <iframe src="http://172.16.24.11:9000/cartoon-web/footer_new"    m ...

  8. window环境下搭建react native及相关插件

    可以先浏览一下中文翻译的开发文档具体了解一下关于React Native,想要查看官方文档可以点http://facebook.github.io/react-native/docs/getting- ...

  9. 《java入门第一季》之面向对象(static关键字)

    /* static的特点:(它可以修饰成员变量,还可以修饰成员方法) A:随着类的加载而加载 回想main方法. B:优先于对象存在 C:被类的所有对象共享 举例:班级的学生应该共用同一个班级编号. ...

  10. LeetCode之“树”:Validate Binary Search Tree

    题目链接 题目要求: Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is ...