
sys.path.append("路径名")
import 模块名
当然了,这种方法存在一个问题,就是没有避免如果存在相同的文件名会出错的问题,于是需要改进成下面的方法(当然如果只是写些小的东西,上面的就已经足够了)
import sysif not "路径名" in sys.path:
sys.path.append("路径名")
if not 'a' in sys.modules: #这里a是模块名
a = __import__('a')
else:
eval('import a')
a = eval('reload(a)')
2、__init__.py
在目录中建一个文件名为__init__.py的文件,就可以直接按照路径名import模块了
有了这个文件,我们就可以导入这个目录下的文件了
1.如果导入的模块和主程序在同个目录下,直接import就行了2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录整个也当成一个模块,然后直接通过“import 子目录.模块”导入即可。
3.如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:
(1)通过”import sys,sys.path.append('父目录的路径')“来改变,这种方法属于一次性的,只对当前的python解释器进程有效,关掉python重启后就失效了。
(2)直接修改环境变量:在windows中是 “ set 变量=‘路径’ ” 例如:set PYTHONPATH=‘C:\test\...’ 查看是否设置成功用echo %PYTHONPATH%,而且进到python解释器中查看sys.path,会发现已经有了新增加的路径了。这 种方式是永久的,一次设置以后一直都有效。在linux中是 "export 变量=‘路径’ “,查看是" echo $变量 "
通过修改path是通用的方法,因为python解释器就是通过sys.path去一个地方一个地方的寻找模块的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)