一:模块使用方法

二:时间模块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秒

详解->c语言的time.h解释python的time

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,数据文档和配置文档:

详解->轻量数据交换xml,json,ini

4,shutil文件,文件夹,压缩包拷贝,拷贝文件对象

5,logging日志模块

6,re正则表达式

7,hashlib

python几个重要的模块备忘的更多相关文章

  1. python - opencv 的一些小技巧备忘

    python - opencv 的一些小技巧备忘 使用python-opencv来处理图像时,可以像matlab一样,将一幅图像看成一个矩阵,进行矢量操作,以加快代码运行速度. 下面记录几个常用的操作 ...

  2. php 相关模块备忘

    在安装php的时候,不管是编译安装: ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  3. Python 中的垃圾回收机制--备忘

    GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用.GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在 ...

  4. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  5. python序列,字典备忘

    初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...

  6. Nmap备忘单:从探索到漏洞利用(Part 4)

    这是我们的Nmap备忘单的第四部分(Part 1. Part 2. Part 3).本文中我们将讨论更多东西关于扫描防火墙,IDS / IPS 逃逸,Web服务器渗透测试等.在此之前,我们应该了解一下 ...

  7. ExtJs4常用配置方法备忘

    viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { b ...

  8. Cheat (tldr, bropages) - Unix命令用法备忘单

    cheat 是一个Unix命令行小工具,用来查询一些常用命令的惯用法(我们都知道,man page阅读起来太累了,常常是跳到最后去看 examples,但并不是所有man pages里面都有examp ...

  9. Nmap备忘单:从探索到漏洞利用(Part 5)

    这是备忘单的最后一部分,在这里主要讲述漏洞评估和渗透测试. 数据库审计 列出数据库名称 nmap -sV --script=mysql-databases 192.168.195.130 上图并没有显 ...

随机推荐

  1. flex 布局 初次接触这个好使又不是特别好用的布局方法

    刚开始学前端的童鞋们应该也是一样先学习的table然后再学习了盒子模型,感觉终于学会了简单的网页布局,使用各种display,float,position绞尽脑汁给页面布局成自己想要的页面样式,然而, ...

  2. 协程、异步IO

    协程,又称微线程,纤程.英文名Coroutine,协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器 ...

  3. mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用

    mybatis 应用程序,需要大量的配置文件,对于一个成百上千的数据库表来说,完全手工配置,这是一个很恐怖的工作量. 所以mybatis 官方也推出了一个mybatis代码生成工具的jar包. 今天花 ...

  4. sysbench 安装遇到的问题

    sysbench 作为性能测试工具,提供了很多有用的参数,使用方法网络上一抓一把,这里记录下安装过程中遇到的问题已经解决办法 .tar.gz cd sysbench- ./autogen.sh ./c ...

  5. git基本用法说明(原创+验证)

      关于文件状态   一般仓库中的文件可能存在于这4种状态: 1)Untracked files                     → 文件未被跟踪(A)  2)Untracked but no ...

  6. [MySQL] SqlServer 迁移到 MySQL 方法介绍

    一.原则: 只迁移表结构和数据,存储过程.函数.触发器尽量自己改写,并充分测试. 迁移前,先设置好数据库的一些参数,比如默认存储引擎,默认编码等,方便后续导入. 二.方法: 1.使用MySQL Wor ...

  7. win下安装oracle的步骤

  8. java GC的优化

    参考网摘: http://www.360doc.com/content/13/0305/10/15643_269388816.shtml

  9. C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法

    因为C#的RSA加密解密只有公钥加密,私钥解密,没有私钥加密,公钥解密.在网上查了很久也没有很好的实现.BouncyCastle的文档少之又少.很多人可能会说,C#也是可以的,通过Biginteger ...

  10. PSP(11.24~11.30)

    27号 类别c 内容c 开始时间s 结束e 中断I 净时间T 作业 构建执法.写博客 14:00 14:40 0m 40m 28号 类别c 内容c 开始时间s 结束e 中断I 净时间T java 编码 ...