什么';这两种python导入方法的区别是什么?
我正在使用Python 3.7.6。我有两个脚本:什么';这两种python导入方法的区别是什么?,python,python-3.x,Python,Python 3.x,我正在使用Python 3.7.6。我有两个脚本: from html.parser import HTMLParser try: parser = HTMLParser() except: print('something went wrong') print('end') 其中打印: end something went wrong end 第二个脚本: import html try: parser = html.parser.HTMLParser()
from html.parser import HTMLParser
try:
parser = HTMLParser()
except:
print('something went wrong')
print('end')
其中打印:
end
something went wrong
end
第二个脚本:
import html
try:
parser = html.parser.HTMLParser()
except:
print('something went wrong')
print('end')
其中打印:
end
something went wrong
end
为什么第一个有效,而第二个无效?如果您查看html
库的示例,您会对发生的情况有一点了解
import html
将导入包中的\uuuu init\uuuuu.py
文件。它不知道该目录中的任何其他内容,只知道文件中的内容
import html.parser
将加载parser.py
文件中的内容,但对\uuuu init\uuuuu.py
中的内容一无所知。由于HTMLParser()
位于parser.py
中,您必须导入模块然后调用类,或者直接导入类
这两种方法中的任何一种都可以正常工作:
import html.parser
parser = html.parser.HTMLParser()
from html import parser
parser = parser.HTMLParser()
不要忽略异常,让它不受破坏,这样您就可以看到引发了什么。一个“空的”
except:
语句是个坏主意。