Ger*_*rat 6 python exception-handling module
假设我有一个无法导入的模块(导入时有例外).
例如.test.py具有以下内容:
print 1/0
Run Code Online (Sandbox Code Playgroud)
[显然,这不是我的实际文件,但它将作为一个很好的代理]
现在,在python提示符下:
>>> import test
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test.py", line 1, in <module>
print 1/0
ZeroDivisionError: integer division or modulo by zero
>>>
Run Code Online (Sandbox Code Playgroud)
找到路径/文件位置的最佳方法是test.py什么?
[我可以遍历Python的模块搜索路径,查看文件的每个目录,但我认为必须有一个更简单的方法......]
bra*_*zzi 15
使用imp模块.它有一个函数,imp.find_module()它接收模块名称作为参数并返回一个元组,其第二项是模块的路径:
>>> import imp
>>> imp.find_module('test') # A file I created at my current dir
(<open file 'test.py', mode 'U' at 0x8d84e90>, 'test.py', ('.py', 'U', 1))
>>> imp.find_module('sys') # A system module
(None, 'sys', ('', '', 6))
>>> imp.find_module('lxml') # lxml, which I installed with pip
(None, '/usr/lib/python2.7/dist-packages/lxml', ('', '', 5))
>>> imp.find_module('lxml')[1]
'/usr/lib/python2.7/dist-packages/lxml'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |