python导入相关模块
我在同一个目录中有Python模块a.py和b.py。 鉴于a.py可能已从另一个目录导入或直接执行,如何从a.py可靠地导入b.py?这个模块是分布式的,所以我不能硬编码一条路径python导入相关模块,python,python-import,relative-path,python-module,Python,Python Import,Relative Path,Python Module,我在同一个目录中有Python模块a.py和b.py。 鉴于a.py可能已从另一个目录导入或直接执行,如何从a.py可靠地导入b.py?这个模块是分布式的,所以我不能硬编码一条路径 我一直在玩\uuuuu file\uuuu、sys.path和os.chdir,但感觉很乱。而且,\uuuuuuuuuuuuuuuuuuuu并不总是可用。实际上,\uuuuuuuuuuuuu文件可用于导入的模块,但仅当它是从.py/.pyc文件导入时才可用。如果模块内置,它将不可用。例如: >>>
我一直在玩
\uuuuu file\uuuu
、sys.path和os.chdir,但感觉很乱。而且,\uuuuuuuuuuuuuuuuuuuu
并不总是可用。实际上,\uuuuuuuuuuuuu文件
可用于导入的模块,但仅当它是从.py/.pyc文件导入时才可用。如果模块内置,它将不可用。例如:
>>> import sys, os
>>> hasattr(os, '__file__')
True
>>> hasattr(sys, '__file__')
False
实际上,
\uuuuuu文件\uuuuuu
可用于导入的模块,但前提是它是从.py/.pyc文件导入的。如果模块内置,它将不可用。例如:
>>> import sys, os
>>> hasattr(os, '__file__')
True
>>> hasattr(sys, '__file__')
False
使用模块将使内置模块更加明显:
>>> import os
>>> import sys
>>> inspect.getfile(os)
'/usr/local/lib/python2.6/os.pyc'
>>> inspect.getfile(sys)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/inspect.py", line 407, in getfile
raise TypeError('arg is a built-in module')
TypeError: arg is a built-in module
导入操作系统
>>>导入系统
>>>inspect.getfile(操作系统)
“/usr/local/lib/python2.6/os.pyc”
>>>inspect.getfile(sys)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.6/inspect.py”,第407行,在getfile中
raise TypeError('arg是内置模块')
TypeError:arg是一个内置模块
使用模块将使内置模块更加明显:
>>> import os
>>> import sys
>>> inspect.getfile(os)
'/usr/local/lib/python2.6/os.pyc'
>>> inspect.getfile(sys)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/inspect.py", line 407, in getfile
raise TypeError('arg is a built-in module')
TypeError: arg is a built-in module
导入操作系统
>>>导入系统
>>>inspect.getfile(操作系统)
“/usr/local/lib/python2.6/os.pyc”
>>>inspect.getfile(sys)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.6/inspect.py”,第407行,在getfile中
raise TypeError('arg是内置模块')
TypeError:arg是一个内置模块
将包含这两者的目录放在python路径中。。。反之亦然。将包含这两者的目录放在python路径中。。。反之亦然