Python模块调用与执行

 

一、模块调用。

复杂的程序都是多模块的,所谓的模块,在Python中就是一个py文件,不同的模块实现不同的功能。一个模块要调用其他模块里的东西,包括函数、变量等,需要“先导入模块”。这些模块都存放在同一目录下,才能在一个模块中导入并调用其他模块。导入方式有2种:

1、 “import 模块(例如:import bo)”

使用方式是 bo.touch(),bo.xxx,…… 即引用的时候需要指明是哪个模块的。

这种方式的缺点是需要频繁的写被引用的模块。

2、“from模块import x1,x2 ”。

这种方式是把后面的x1,x2函数直接导入到当前的名空间了,所以可以直接使用x1,而无需声明是来自哪个模块文件。缺点是要导入的函数很多的话,你就需 要在后面加很多X1,X2,X3,X4……..。 有一个方法是直接 “from模块 import *(例如:from bo import *”, 这种方式可以导入被导入模块中的所有函数,这种方式虽然不被官方推荐,因为“判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难”,但这种方法确实是最直接最粗暴也是最方便的方法

 

二、执行py文件。

假设一个复杂程序中有多个模块,即多个py文件,它们组合在一个共同完成程序的功能。但是在执行时,必然有一个类似main的py文件要在python shell中执行。要执行main.py,步骤如下:

1、增加搜索路径。

Python默认的搜索路径在python安装路径下,在python shell中用print(sys.path)可以知道:

['','C:\\Python27\\Lib\\idlelib', 'C:\\Windows\\system32\\python27.zip','C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win','C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages']

若要导入的模块main不在以上路径下,则导入模块main失败,因此首先要将main所在的路径添加到搜索路径中。用python的sys模块来添加系统搜索路径。在pythonshell中输入:

>>>importsys

>>>sys.path.append(main所在路径)

2、执行

    执行方法是:直接importmain(即main.py。在python shell中输入:

    >>>import main

注意:对于一个文件main.py,improt只能在第一次导入时运行文件,后面的导入main.py都不会再工作。

 

   

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章