python几个重要的模块备忘
一:模块使用方法
二:时间模块time
三:系统接口模块os和sys
四:数据保存的几个模块json,pickle,xml,configparse
五:数据复制移动模块shutil
六:日志模块logging
七:正则表达式re
八:加密hashlib
模块用来分割一个程序,就像用函数或者类来分割程序一样。将一个程序的不同功能分割成多个文件,可以提高代码可读性。可能一个py文件仅完成一个算法,或完成一个socket,可以重复调用。python使用import来调用模块,模块可以是内置的,也可以自定义,也可以使用开源模块
模块使用方法:
module1
def showStar(num): #数星星的方法
print("sky has %s star"%num)
class starSky: #数星星的类
def __init__(self,num):
self.num=num
self.show()
def show(self):
print("sky has %s star"%self.num)
调用者
import module1 #导入模块
from module1 import starSky #导入模块中的类
from module1 import showStar as show #导入模块中的函数
#执行时,导入的东西都会被解析
a=starSky(10)
show(12)
如果module1和module2的关系是:
| 调用者.py
| __init__.py
|
\---module_dir
module1.py
__init__.py
调用module1的方法:
import module_dir.module1 as mod1
from module_dir.module1 import starSky a=starSky(10)
mod1.showStar(12)
能被导入的关键因素是环境变量,执行的python脚本的父目录作为环境变量:
>>> import sys
>>> sys.path
['D:\\visual doc\\pyProject\\模块研究专题', 'E:\\软件\\python\\python35.zip', 'E:\\软件\\python\\DLLs', 'E:\\软件\\python\\lib', 'E:\\软件\\python', 'E:\\软件\\python\\lib\\site-packages']
module_dir在D:\\visual doc\\pyProject\\模块研究专题下面,所以找到了
如果是这样子:
| module1.py
| __init__.py
|
\---module_dir
__init__.py
调用者.py
调用者的父目录module_dir下没有module1就会报错
import sys
sys.path.append("..") #sys.path是环境变量的列表,只要在后面加上..就可以表示module1的父目录
import module1 as mod1
from module1 import starSky a=starSky(10)
mod1.showStar(12)
| __init__.py
| 调用者.py
|
+---module_dir
class1.py
module1.py
__init__.py
调用者调用module1:import module_dir.module1
module1调用class1:import class1
执行调用者,class1会找不到,因为环境变量是调用者的父目录,class1在这个目录下找不到,所以在import时应该要把module_dir的路径存到环境变量
也就是module1的__file__的父目录的绝对路径
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
所以:1个习惯就是,当要调用当前目录的另一个文件,就把当前目录的绝对路径存到环境变量
更绝一点,每次创建文件就把上面的代码写进去
__init__.py
models目录下面的__init__.py:
def test1():
print("ddd")
调用:
from models import test1
test1()
__init__下的所有内容都可以被models直接调用
几个重要的内置模块:
1,时间模块time
熟悉C语言的time.h的,类推python的这个模块,都很相似,作为一个内置模块函数,只要能拿来用就可以了
成员 |
参数/返回 |
说明 |
举例/返回结果 |
time.clock() |
返回处理器时间 |
||
time.time() |
返回值:当前时间的时间戳 |
返回当前时间的时间戳 |
结果: 1471246422.8152277 |
time.ctime() |
参数一:时间戳 返回值:时间字符串 |
默认返回当前时间,可以指定时间戳,返回时间 |
print(time.ctime(0)) 结果:Thu Jan 1 08:00:00 1970 |
time.gmtime() time.localtime() |
参数一:时间戳 |
localtime返回当前时间的struct_time gmtime返回当前格林时区的时间 |
time.struct_time( tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0) |
time.mktime() |
参数一:struct_time |
struct_time转换成时间戳 |
|
time.strftime() |
参数一:指定格式 参数二:传入struct_time 返回:格式化时间字符串 |
struct_time转换成格式化时间,参数一和linux的date一样 |
2016-08-15 08:02:28 |
time.strptime() |
参数一:字符串 参数二:格式 返回:struct_time |
||
time.sleep() |
参数一:秒数 |
指定时间暂停 |
time.sleep(3)暂停3秒 |
2,与操作系统相关,os和sys模块
os模块有可以执行操作系统的命令的函数,有目录系列(目录增删,移动,复制,属性,软硬链接),有路径系列(当前路径,上级路径,绝对路径),好多。。。
判断当前操作系统:
os.name windows-->'nt' linux/unix-->'posix'
sys.platform windows-->'win32' linux-->'linux'
直接进行命令行操作:
os.system(command) 直接进行命令操作
os.popen(cmd,mode,bufsize) 命令操作的结果返回给变量,返回的是<os._wrap_close object at 0x000002308955DDA0>
目录/文件系列:
os.chdir(path)更改当前目录
os.listdir(path)列出当前目录下的文件
os.getcwd()当前目录的绝对路径
os.makedirs(path)/os.removedirs(path)递归添加/删除目录
os.remove(file)删除
os.rename(old,new)重命名
路径系列
os.environ/sys.path:
os.environ是系统的环境变量
sys.path是python默认路径
os.path.abspath(path) 参数path的绝对路径
os.path.split(path) 把参数path分为目录和文件
os.path.dirname(path)/os.path.basename(path)
os.path.isdir(path)/os.path.isfile(file)判断路径和文件
os.path.join(path,name) path和name合并
os.path.splitext(file) 文件拆分为文件名和扩展名
sys.argv接收运行参数
3,数据文档和配置文档:
4,shutil文件,文件夹,压缩包拷贝,拷贝文件对象
6,re正则表达式
7,hashlib
python几个重要的模块备忘的更多相关文章
- python - opencv 的一些小技巧备忘
python - opencv 的一些小技巧备忘 使用python-opencv来处理图像时,可以像matlab一样,将一幅图像看成一个矩阵,进行矢量操作,以加快代码运行速度. 下面记录几个常用的操作 ...
- php 相关模块备忘
在安装php的时候,不管是编译安装: ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...
- Python 中的垃圾回收机制--备忘
GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用.GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在 ...
- Python中利用函数装饰器实现备忘功能
Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下 " ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
- Nmap备忘单:从探索到漏洞利用(Part 4)
这是我们的Nmap备忘单的第四部分(Part 1. Part 2. Part 3).本文中我们将讨论更多东西关于扫描防火墙,IDS / IPS 逃逸,Web服务器渗透测试等.在此之前,我们应该了解一下 ...
- ExtJs4常用配置方法备忘
viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { b ...
- Cheat (tldr, bropages) - Unix命令用法备忘单
cheat 是一个Unix命令行小工具,用来查询一些常用命令的惯用法(我们都知道,man page阅读起来太累了,常常是跳到最后去看 examples,但并不是所有man pages里面都有examp ...
- Nmap备忘单:从探索到漏洞利用(Part 5)
这是备忘单的最后一部分,在这里主要讲述漏洞评估和渗透测试. 数据库审计 列出数据库名称 nmap -sV --script=mysql-databases 192.168.195.130 上图并没有显 ...
随机推荐
- CSharp 相关知识点小结
1.JS获取iframe下面的内容document.getElementById('IFRAME1').contentDocument; 2.dialog 弹出层,定位:postion:'bottom ...
- [转]./configure,make,make install的作用
./configure,make,make install的作用(转) 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台 ...
- NAT 网络地址转换
NAT 网络地址转换(Network Address Translation) NAT(Network Address Translation,网络地址转换)是1994年提出的. 属接入广域网(WA ...
- ASP.NET在IIS7.5(IIS7)配置伪静态
http://jingyan.baidu.com/article/67508eb4ff92c69cca1ce49a.html 我相信不少站长都遇到个头疼的问题..NET如何在IIS7或者IIS7.5下 ...
- Linux:删除程序
首先查看程序是否安装,以mariadb 为例 卸载程序 .........
- ajax的两种方式
get:var ajax=new XMLHttpRequest();ajax.open('get','__URL__/check_all?val='+check);ajax.send();ajax.o ...
- 微信小程序上传文件
wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourc ...
- Python基础篇【第5篇】: Python内置模块(二)
内置模块 1. OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ...
- windows下CMake使用图文手册 Part 4
例子4:链接静态库(.lib) 例子3里面我们构建了date.lib, 这个例子里我们调用这个库. 前提: date.h的头文件在 E:\Playground\CMakeExamples\DateLi ...
- Django1.7+JQuery+Ajax集成小例子
Ajax的出现让Web展现了更新的活力,基本所有的语言,都动态支持Ajax与起服务端进行通信,并在页面实现无刷新动态交互. 下面是散仙使用Django+Jquery+Ajax的方式来模拟实现了一个验证 ...