问题:
Python中如何引用自己创建的源文件(*.py)呢?也就是所谓的模块。
注:该模块应该被放置在我们import它的程序的同一个目录中,或者在sys.path所列目录之下。
假设:
自定义的模块文件名为testlib.py包含有某函数lib_func(),这时我们另外的一个程序需要调用此函数,该如何import调用这个函数呢?
解决办法:
情况一:
如果模块文件和引用程序在同一目录下,可以直接import。
情况二(针对模块文件和引用程序不在同一目录):
方法一:
将testlib.py模块文件copy到Python安装目录下的site-packages文件夹下,即可直接import使用。
方法二:
标准的实现方式是在PYTHONPATH环境变量中包含模块所在的目录,环境变量设置如下:
1 | PYTHONPATH = /opt/workspace |
方法三:
找到Python安装目录下的site-packages文件夹($Python/Lib/site-packages)。在该目录下创建一个PATH文件(*.pth),例如 MyModule.pth, 将你模块文件所在的路径写入文件中(比如testlib.py文件的路径为/opt/workspace,则其PATH文件名为testlib.pth,并打开testlib.pth文件写入内容为:/opt/workspace 即可使用)。
本文方法简单主要针对于少数文件,但如果程序数目很多,层级很复杂,建议使用__init__.py文件来控制,详见下方参考。
中文参考:
http://www.cnitblog.com/seeyeah/archive/2009/03/15/55440.html (import模块方法)
http://blog.csdn.net/wh62592855/article/details/6772341 (__init__.py文件的作用)
联系客服