一. python 常用内置模块的使用(datetime,logging,os,command)

      在日常的开发工作中,我们要写很多的python 代码,如果都写在一个文件中,会导致代码特别难维护,为了拓展代码的可维护性,我们把函数写在不同的文件里,这样每个文件包含的文件就比较少,逻辑更加清楚。在python中,我们创建的文件基本都是以py结尾,那一个py的文件就称之为模块。

     为了方便管理模块,python中又引入了包(package)这个概念,每个包下面都有一个__init__.py 文件,这个文件是必须存在的,否则,python 就把这个目录当成普通目录,而不是一个包。__init__.py 可以是空文件,也可以有python 代码,因为__init__.py 本身就是一个模块,举个例子:test 目录下面有__init__.py aaa.py  , bbb.py 三个文件,所以python 会把test 当成一个模块。如果test 目录下没有__init__.py 则pyhon 会把test当成一个普通目录。

     

 

二 . import 导入

import

1》如果是本地导入文件,直接使用: import filename

2》 如果导入的是一个包,该包下面必须是有__init__.py 文件才可以导入,否则报错,只有有了__init__.py 文件,python 解析器才会把这个目录当成包。

 

2. 目录结构说明

 

新建modules 目录---》 新建lzc包(python package),会自动生成__init__.py---》在lzc包下创建test.py 脚本----》与lzc包同级目录下创建模块.py 脚本。

 

cat test.py

def hello():

print 'hello world'

 

 

 

  二. 常用导入模块的常用格式:

   1.  示例:在模块.py 里调用  test中hell函数

 

#/usr/bin/python

#coding=utf-8

#@Time   :2017/11/8 10:34

#@Auther :liuzhenchuan

#@File   :模块.py

 

print '##'*5+'方法一'+'##'*5

#方法一 :导入hello模块并打印

import lzc.test

lzc.test.hello()

 

print '##'*5+'方法二'+'##'*5

#方法二. 使用from ....import 导入,从什么模块中导入什么

from lzc import test

test.hello()

 

print '##'*5+'方法三'+'##'*5

# #方法二. 使用from ....import 导入,从什么模块中导入什么,最终可以导入的可以示一个函数,一个类,也可以是一个模块

   #总之一层一层的调用就可以了

   #注意,import 后面导入的是什么,在调用的时候后面就的从什么开始写。

from lzc.test import hello

hello()

 

 

print '##'*5+'方法四 import 特殊用法'+'##'*5

from lzc import test as aa

aa.hello()

 

 

>>>

##########方法一##########

hello world

##########方法二##########

hello world

##########方法三##########

hello world

##########方法四 import 特殊用法##########

hello world

 

 

2.调用test模块中的类

 

cat test.py

class ren(object):

'yangyang'

sex = 'F'

jineng = 'cisha'

def __init__(self):

age = '10'

coller = 'yellow'

def get_jineng(self):

return self.jineng

class child(ren):

'M'

def __init__(self):

print 'my sex is {0}'.format(self.sex)

 

girl = child()

print girl.name

print girl.get_jineng()

 

>>>

my sex is M

yangyang

cisha

 

在模块.py 中调用

from lzc import test

test.girl()

>>>

my sex is M

yangyang

cisha