各个模块整理

import time

#一 时间戳<---->结构化时间:  localtime/gmtime   mktime

>>> time.localtime(3600*24)

>>> time.gmtime(3600*24)

>>> time.mktime(time.localtime())

#字符串时间<---->结构化时间: strftime/strptime

>>> time.strftime("%Y-%m-%d %X", time.localtime())

>>> time.strptime("2017-03-16","%Y-%m-%d")

★★★★★ ★★★★★

import random

# a=random.random()    # 大于0且小于1之间的小数

# print(a)

# a=random.randint(1,5)  # 大于等于1且小于等于5之间的整数,即顾头也顾尾

# print(a)

# a=random.randrange(1,3) # 大于等于1且小于3之间的整数,顾头不顾尾

# print(a)

# a=random.choice([1,‘23‘,[4,5]])  # #1或者23或者[4,5],随机取一个,里面可以是数字,字符串和列表

# print(a)

# a=random.sample([1,‘23‘,[4,5]],2) # #列表元素任意2个组合,随机取两个,里面可以是数字,字符串和列表

# print(a)

# a=random.uniform(1,3) #大于1小于3的小数

# print(a)

# item=[1,3,5,7,9]

# random.shuffle(item) # 打乱次序

# print(item)

★★★★★

import hashlib

# md5 = hashlib.md5()

# md5.update(b‘hello‘) #这里记得一定要加b,在python3中,在update括号里面记得加b;

# print(md5.hexdigest())   #update是累加的过程,可以多次被调用,括号内还可是一句话,可看老师博客

# 计算结果如下:

# 5d41402abc4b2a76b9719d911017c592

# md5=hashlib.sha512()

# md5.update(b‘123aaa‘)

# print(md5.hexdigest())

#打印结果为:442c78a39ee20a1bc0912d3f8b85febd198b323b0843c952ac8c968148a59ba033cefcfc0dddf0632291bc3a62baa3bab9ba0b04dccd63570307a83582259fe9

# obj=hashlib.md5(‘salt‘.encode(‘utf-8‘))

# obj.update(b‘admin‘)

# print(obj.hexdigest())

#打印结果为:c657540d5b315892f950ff30e1394480

# obj=hashlib.md5(‘sdfds2134‘.encode(‘utf-8‘))

# obj.update(b‘admin‘)  #表明上面还可以随机写东西,但是没有深究,以后用到再说

# print(obj.hexdigest())

#打印结果为:c7621ca3e95c018b3be4d241c229ab24

★★★★★

import sys

print(sys.path)

#打印结果为:[‘E:\\pythonS5\\june\\模块整理‘, ‘E:\\pythonS5‘, ‘D:\\python3.6.1\\python36.zip‘, ‘D:\\python3.6.1\\DLLs‘, ‘D:\\python3.6.1\\lib‘, ‘D:\\python3.6.1‘, ‘D:\\python3.6.1\\lib\\site-packages‘]

#E:\\pythonS5\\june\\模块整理‘,这个表示会把当前所执行文件的目录,添加到sys.path里面

# 重点记住前面的路径:,前面的是当前所执行文件的目录,会添加到sys.path里面,后面的python环境所有的路径

# a=sys.argv    #命令行参数List,第一个元素是程序本身路径,是一个列表的形式

# a1=sys.argv[0]

# print(a)  #打印结果为:[‘E:/pythonS5/june/模块整理/各种模块.py‘]

# print(a1) #打印结果为: E:/pythonS5/june/模块整理/各种模块.py

# print(111)      #这行代码正常打印执行

# sys.exit(0)    #退出程序,正常退出时exit(0)   自己测试了里面没有0也能执行,用的时候看情况

# print(112)          #次行代码不会执行,因为上调命令以退出

# a=sys.version      #  获取Python解释程序的版本信息

# print(a)         #打印结果为:所用的python的版本信息,3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]

# print(sys.path)#打印结果为:[‘E:\\pythonS5\\june\\模块整理‘, ‘E:\\pythonS5‘, ‘D:\\python3.6.1\\python36.zip‘, ‘D:\\python3.6.1\\DLLs‘, ‘D:\\python3.6.1\\lib‘, ‘D:\\python3.6.1‘, ‘D:\\python3.6.1\\lib\\site-packages‘]

# b_dir=r‘E:\pythonS5\July‘  #这里r写不写,都能实现,这个效果,因不知道啥时候需要加r,所以一直就用着r就行

# sys.path.append(b_dir)  #因sys.path是个列表,所以可以用append进行追加,追加进去的路径,可以调用不同目录的模块

# print(sys.path) #打印结果为:[‘E:\\pythonS5\\june\\模块整理‘, ‘E:\\pythonS5‘, ‘D:\\python3.6.1\\python36.zip‘, ‘D:\\python3.6.1\\DLLs‘, ‘D:\\python3.6.1\\lib‘, ‘D:\\python3.6.1‘, ‘D:\\python3.6.1\\lib\\site-packages‘, ‘E:\\pythonS5\\june‘]

#很明显已经把‘E:\\pythonS5\\July‘这个路径加入到当前的环境变量下面了。

# a=sys.platform     #  返回操作系统平台名称

# print(a)  #打印结果为:win32

# ★★★★★

# ★★★★★

import logging  #日志模块

# 下面5个级别,越往下越高

# logging.debug(‘debug message‘)

# logging.info(‘info message‘)

# logging.warning(‘warning message‘)

# logging.error(‘error message‘)

# logging.critical(‘critical message‘)

# logging.basicConfig(level=logging.DEBUG,

#                     format=‘%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s‘,

#                     filename=‘log.txt‘,  #在当前路径下直接选择的是相对路径,也可以选择绝对路径,因此会在当前路径下产生一个log的文件

#                     filemode=‘a‘,)  #a表示:追加,也可用w表示:写,即可追加到或写入这个文件中。

# logging.debug(‘debug message‘)

# logging.info(‘info message‘)

# logging.warning(‘warning message‘)

# logging.error(‘error message‘)

# logging.critical(‘critical message‘)

#就这样,就把上面的信息追加到log.txt文件里面了

#下面这些参数都是关键字的,都是固定的, 不可修改,用那个,就使用那个就行

# logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:

# filename:用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中。

# filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。

# format:指定handler使用的日志显示格式。

# datefmt:指定日期时间格式。

# level:设置rootlogger(后边会讲解具体概念)的日志级别

# stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件(f=open(‘test.log’,’w’)),默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。

#

# format参数中可能用到的格式化串:

# %(name)s Logger的名字

# %(levelno)s 数字形式的日志级别

# %(levelname)s 文本形式的日志级别

# %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有

# %(filename)s 调用日志输出函数的模块的文件名

# %(module)s 调用日志输出函数的模块名

# %(funcName)s 调用日志输出函数的函数名

# %(lineno)d 调用日志输出函数的语句所在的代码行

# %(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示

# %(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数

# %(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

# %(thread)d 线程ID。可能没有

# %(threadName)s 线程名。可能没有

# %(process)d 进程ID。可能没有

# %(message)s用户输出的消息

# 另一种方式 是logger对象  相比上面的basicconfig来说,我们推荐使用logger,因为更加灵活,他们两者地位平等。

# def get_logger():

#     logger_obj=logging.getLogger() #获取这个logger对象

#     print(type(logger_obj))

#     fh=logging.FileHandler("logger_file.txt")#文件输出流,创建了一个这个文件

#     fh.setLevel(logging.ERROR)

#     ch=logging.StreamHandler()  #StreamHandler不需要参数

#     ch.setLevel(logging.CRITICAL)

#

#     formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)

#     fh.setFormatter(formatter)   #设置成formatter的格式

#     ch.setFormatter(formatter) #同上

#     logger_obj.addHandler(fh)

#     logger_obj.addHandler(ch)

#

#     logger_obj.setLevel(logging.DEBUG)#在这里定义级别

#     return logger_obj

#

# logger_obj=get_logger()

#

# logger_obj.info("info")

# logger_obj.error("error")

# logger_obj.warning("warning")

# logger_obj.debug("debug")

# logger_obj.critical("critical")

★★★★★

import json  #json里面老师讲课时候说用双引号,而且序列化之后的结果都是双引号的

# dic={‘name‘:‘hao‘,‘age‘:11}

# f=open(‘123.txt‘,‘w‘)

# data=json.dumps(dic)

# f.write(data)

# f.close()

#这样就把字典的信息序列化到123这个文件中了

# f=open(‘123.txt‘,‘r‘)

# data=f.read()

# dic=json.loads(data)

# print(dic) #打印结果为:{‘name‘: ‘wuhao‘, ‘age‘: 11}

#这样就反序列化出来了

##############

# 上面用的是dumps和loads,下面请看dump和load,比上面更加简洁

# dic={‘name‘:‘hao‘,‘age‘:11}

# f=open(‘666.txt‘,‘w‘)

# json.dump(dic,f)# 这一步就相当于省略了:data=json.dumps(dic)和f.write(data),直接进行序列化

###上面括号中的dic是要序列化的对象

# f.close()

##下面进行反序列化

# f=open(‘666.txt‘,‘r‘)

# dic=json.load(f)

# print(dic)

★★★★★

##----------------------------序列化

import pickle #和json模块用法一样

dic={‘name‘:‘alvin‘,‘age‘:23,‘sex‘:‘male‘}

print(type(dic))#<class ‘dict‘>

j=pickle.dumps(dic)

print(type(j))#<class ‘bytes‘>

f=open(‘序列化对象_pickle‘,‘wb‘)#注意是w是写入str,wb是写入bytes,j是‘bytes‘

f.write(j)  #-------------------等价于pickle.dump(dic,f)

f.close()

#-------------------------反序列化

import pickle

f=open(‘序列化对象_pickle‘,‘rb‘)

data=pickle.loads(f.read())#  等价于data=pickle.load(f)

print(data[‘age‘])

★★★★★

import shelve

# d = shelve.open(‘shelve_test‘)  # 打开一个文件

# name=[‘allen‘,14,‘male‘]

# d[‘alex‘]=name  #会写入到文件中

# d.close()

#读出文件内容

# d = shelve.open(‘shelve_test‘)  # 打开一个文件

# print(d[‘alex‘]) #[‘allen‘, 14, ‘male‘]

# d.close()

★★★★★

# import subprocess  #下面的dir是一个命令,

# s=subprocess.Popen(‘dir‘,shell=True,stdout=subprocess.PIPE) # Popen是一个类 ,开启新的子进程服务

#stdout是输出的意思,还有stderr是输入的意思,后期用到了再说,基本形式也是stderr=subprocess.PIPE这种

# print(s.stdout.read().decode(‘gbk‘))

#打印结果为:下面的

# 驱动器 E 中的卷没有标签。

#  卷的序列号是 0004-DF53

#

#  E:\pythonS5\june\模块整理 的目录

#

# 2017/07/15 周六  下午 10:48    <DIR>          .

# 2017/07/15 周六  下午 10:48    <DIR>          ..

# 2017/07/15 周六  下午 10:48            14,183 各种模块.py

#                1 个文件         14,183 字节

#                2 个目录 68,064,280,576 可用字节

###

# 在linux:

# import subprocess

# subprocess.Popen(‘ls -l‘,shell=True)

#subprocess.Popen([‘ls‘,‘-l‘])  看下面和上面的区别,下面是一个列表的话,就不用写这个shell=True了

stdin 标准输入

stdout 标准输出

stderr 标准错误

★★★★★

★★★★★

# configparser  做文件的读与写操作

# import configparser  #有它自己的格式,

# cfp=configparser.ConfigParser()   # 相当于{}

# cfp["DEFAULT"]={"ServerAliveInterval":45,"Compression":"YES","CompressionLevel":9,"ForwardX11":"YES"}

# cfp["bitbucket.org"]={"USER":"hg"}

# cfp["topsecret.server.com"]={"Port ":5000123,"ForwardX11 ":"no"}

# with open("cfp.ini","w") as f:

#     cfp.write(f)   #这样就会生成一个cfp.ini文件,里面有这些字典的内容

# 下面是cfp.ini文件中的内容

# """

# [DEFAULT]  #这个字段是默认的(也就是必须写成[DEFAULT]),就相当于类里面的共同特征,下面两个字段都拥有这个[DEFAULT]字段的内容

# serveraliveinterval = 45

# compression = YES

# compressionlevel = 9

# forwardx11 = YES

#

# [bitbucket.org]

# user = hg

# [topsecret.server.com]

# port  = 5000123

# forwardx11  = no

# """

#进行增删改查操作

# import configparser

# cfp=configparser.ConfigParser()

# cfp.read("cfp.ini") #这个是要读的文件

# print(cfp.sections())  # 查每个的字段名字,也就是最外层的键,这个打印没有默认字段,默认的不需要打印

# print("topsecret.server.coms" in cfp)  判断这个字段,在不在cfp中,若在则True

# print(cfp.items("bitbucket.org")) #取出所有的键值对,包括默认的和自己本身的

# print(cfp.options("bitbucket.org")) 取到所有键值对中的键

#print(cfp["bitbucket.org"]["user"]) 得到的结果是hg,就是根据字典取值方式进行取值,通过bitbucket.org"里面的user,取到hg

# 用这个可以直接做三次登录,判断在不在这个里面即可,in不in这里面

★★★★★

re模块在正则中整理

时间: 2024-11-05 11:33:16

各个模块整理的相关文章

os模块整理

import os 1.# a=os.path.abspath(__file__) #__file__是当前文件名,os.path.abspath,表示:当前文件的绝对路径# print(a)#打印结果为:E:\pythonS5\june\628模块与包的调用\模块整理.py 2.# a=os.path.dirname(os.path.abspath(__file__))  #返回__file__文件绝对路径的上一次目录路径# print(a)#打印结果为:E:\pythonS5\june\62

jqueryMobile模块整理—按钮(buttons)

作为一名移动端开发小菜鸟,由于公司指定使用jQueryMobile来作为开发框架(虽然一开始我的内心是拒绝的~).不过框架总是有可取之处的,所以从今天开始整理一下jqm(jQueryMobile简称)的模块使用方法. 1.在jqm中,不管是a标签还是input标签等,添加data-role = "button"  或class="ui-btn"  属性,即可将该标签变为按钮. 2.添加.ui-btn-inline类可使按钮成横排显示. 3.添加.ui-corner-

ansible安装部署和配置、常用模块整理

今天心情不错~~~~第25个生日了,又遇昨晚百年难得一见的蓝月亮,所以昨晚连夜整理了文档, 会分为两部分发出去,ansible批量化部署在工作中是非常实用,建议呢 整理大量常用模块去练习 1.1.1 ansible软件介绍 1. ansible是一个基于python开发的自动化运维工具!(saltstack) 2. 其功能的实现是基础SSH远程连接服务的 3. ansible可以实现批量系统配置.批量软件部署.批量文件拷贝.批量运行命令等功能 1.1.2 ansible软件相关参考链接信息 ht

Python 常用系统模块整理

Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 threading: 线程相关 pickle: 将对象转换成二进制文件 time: 时间 datetime: 基本的日期和时间类型 timeit: 准确测量小段代码的执行时间 urllib: 访问网络的包 http.cookielib: 主要作用是提供可存储cookie的对象 socket: 套接字相关

python模块整理

一.time模块:import time 1.time.sleep(3)   #单位为妙 二.urllib 1.传递一个url地址得到其html内容:from urllib.request import urlopen from urllib.request import urlopen res = urlopen('http://crm.oldboyedu.com').read() #打印出的是16进制 print(res.decode('utf-8')) # 转换为汉字 def index(

python模块整理29-redis模块

date:20140530auth:jinhttp://github.com/andymccurdy/redis-pyhttps://github.com/andymccurdy/redis-py/blob/master/README.rst 一.安装# yum -y install python-redis# zypper install python-redis 二.使用1.连接import redisr = redis.Redis(host='127.0.0.1', port=6380,

python常用模块整理

一.序列化 Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类型]间进行转换 Json模块提供了四个功能:dumps.dump.loads.load Json.loads()用于将字典,列表形式的字符串转换成相应的字典,列表 Json.dump()将基本数据类型,列表,字典,转换成字符串 pickle模块提供了四个功能:dumps.dump.loads.l

模块整理笔记

1.模块定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质上就是.py结尾python文件 分类:内置模块.开源模块.自定义模块 2.导入模块 本质:导入模块的本质就是把python文件解释一遍:导入包的本质就是把包文件下面的init.py文件运行一遍 ① 同目录下模块的导入 #同级目录间import import module_name #直接导入模块 import module_name,module2_name #导入多个模块 使用:模块名.加函数名 fro

time模块整理

time模块中包含的方法 time() -- 返回当前系统的时间戳clock() -- 在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳). 而在WINDOWS中,第一次调用,返回的是进程运行的实际时间.而第二次之后的调用是自第一次调用以后到现在的运行时间.sleep() -- 线程等待的时间,以秒为单位gmtime() -- 将一个时间戳转换为UTC时区(0时区)的struct_time格式.localtime() -- 将一个时间戳转换为当前时区的struct