有很多方法可以导入 python 文件:
不要匆忙选择第一个适合您的导入策略,否则当您发现它不满足您的需求时,您将不得不重写代码库。  
我开始解释最简单的控制台示例#1,然后转向最专业、最强大的程序示例#5
示例 1,使用 python 解释器导入 python 模块:
- 把它放在 /home/el/foo/fox.py 中: - def what_does_the_fox_say():
  print "vixens cry"
 
- 进入python解释器: - el@apollo:/home/el/foo$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
>>> import fox
>>> fox.what_does_the_fox_say()
vixens cry
>>> 
 - 您通过 python 解释器- what_does_the_fox_say()从文件中调用了 python 函数。- fox
 
选项 2,在脚本中使用 execfile 来执行其他 python 文件:
- 把它放在 /home/el/foo2/mylib.py 中: - def moobar():
  print "hi"
 
- 把它放在 /home/el/foo2/main.py 中: - execfile("/home/el/foo2/mylib.py")
moobar()
 
- 运行文件: - el@apollo:/home/el/foo$ python main.py
hi
 - moobar 函数是从 mylib.py 导入的,并在 main.py 中可用 
选项 3,使用 from ... import ... 功能:
- 把它放在 /home/el/foo3/chekov.py 中: - def question():
  print "where are the nuclear wessels?"
 
- 把它放在 /home/el/foo3/main.py 中: - from chekov import question
question()
 
- 像这样运行它: - el@apollo:/home/el/foo3$ python main.py 
where are the nuclear wessels?
 - 如果您在 chekov.py 中定义了其他函数,它们将不可用,除非您- import *
 
选项 4,如果 riaa.py 位于与导入位置不同的文件位置,则导入
- 把它放在 /home/el/foo4/bittorrent/riaa.py 中: - def watchout_for_riaa_mpaa():
  print "there are honeypot kesha songs on bittorrent that log IP " +
  "addresses of seeders and leechers. Then comcast records strikes against " +
  "that user and thus, the free internet was transmogified into " +
  "a pay-per-view cable-tv enslavement device back in the 20th century."
 
- 把它放在 /home/el/foo4/main.py 中: - import sys 
import os
sys.path.append(os.path.abspath("/home/el/foo4/bittorrent"))
from riaa import *
watchout_for_riaa_mpaa()
 
- 运行: - el@apollo:/home/el/foo4$ python main.py 
there are honeypot kesha songs on bittorrent...
 - 这会从不同的目录导入外部文件中的所有内容。 
选项 5,在 python 中使用裸导入命令导入文件:
- 创建一个新目录/home/el/foo5/
- 创建一个新目录/home/el/foo5/herp
- __init__.py创建一个名为herp的空文件:
 - el@apollo:/home/el/foo5/herp$ touch __init__.py
el@apollo:/home/el/foo5/herp$ ls
__init__.py
 
- 创建一个新目录 /home/el/foo5/herp/derp 
- 在derp下,制作另一个- __init__.py文件:
 - el@apollo:/home/el/foo5/herp/derp$ touch __init__.py
el@apollo:/home/el/foo5/herp/derp$ ls
__init__.py
 
- 在 /home/el/foo5/herp/derp 下创建一个名为- yolo.pyPut this in there 的新文件:
 - def skycake():
  print "SkyCake evolves to stay just beyond the cognitive reach of " +
  "the bulk of men. SKYCAKE!!"
 
- 关键时刻,制作新文件- /home/el/foo5/main.py,把它放在那里;
 - from herp.derp.yolo import skycake
skycake()
 
- 运行: - el@apollo:/home/el/foo5$ python main.py
SkyCake evolves to stay just beyond the cognitive reach of the bulk 
of men. SKYCAKE!!
 - 空- __init__.py文件与 python 解释器通信,开发人员打算将此目录作为可导入包。
 
如果您想查看我关于如何在目录下包含所有 .py 文件的帖子,请参见此处:https ://stackoverflow.com/a/20753073/445131
额外的提示,无论您使用的是 Mac、Linux 还是 Windows,您都需要使用python 的空闲编辑器,如此处所述。它将解锁您的蟒蛇世界。  http://www.youtube.com/watch?v=DkW5CSZ_VII