python导入执行本地文件
您好,我是python新手,我想详细了解以下内容: 我已经编写了一个脚本,比如“foo.py”,它使用PythonHTML解析器,即python导入执行本地文件,python,Python,您好,我是python新手,我想详细了解以下内容: 我已经编写了一个脚本,比如“foo.py”,它使用PythonHTML解析器,即 #!/usr/lib/python from html.parser import HTMLParser # <-- executes ./tokenize.py ?! ... #/usr/lib/python 从html.parser导入HTMLParser#您是对的 避免这种情况的正确方法是始终按全名导入模块。在您的情况下,在html.parse
#!/usr/lib/python
from html.parser import HTMLParser # <-- executes ./tokenize.py ?!
...
#/usr/lib/python
从html.parser导入HTMLParser#您是对的
避免这种情况的正确方法是始终按全名导入模块。在您的情况下,在html.parser
中,您应该像这样导入tokenize
:
from html.parser import tokenize
而不是:
import tokenize
如果html.parser
是您无法控制的外部模块,只需将您的tokenize.py
重命名为其他模块,例如:
from html.parser import tokenize as ext_tokenize
您正在运行哪个版本的Python?在导入之前尝试一下:from\uuuuu future\uuuuu import absolute\u import
我还不了解这个相对和绝对的导入业务,但是from\uuu future\uuuuu import absolute\u import
不会改变任何事情。对不起@gmoktop在你说python3之前。好的,我明白了,但我根本不导入tokenize
。我该如何知道HTMLParser
拉入了什么?@gmoktop如果出现此错误,则意味着HTMLParser
确实导入了tokenize
。你可以随时查看它的源代码并验证它。好的,我做了一些搜索。我找到的唯一解决方案是1)编辑模块搜索sys.path 2)确保没有名称冲突,这两个都不是很令人满意。。