首页 > 编程笔记 > Python笔记 阅读数:1807

Python __import__()函数引入模块名

前面讲过,其实模块就是一个代码文件,因此要求其文件名要符合操作系统的命名规则。

这可能会遇到一个问题,即操作系统中允许文件名中包含空格,也就是说,模块文件可以起名为类似“a b”的形式。但这和 Python 语法相矛盾,换句话说,Python 是以空格来隔离一行语句中的不同元素的,如果模块名中出现空格,就无法再使用 import 引入。

例如,我们自定义一个模块,并起名为 "demo text.py",该模块中只包含如下输出语句:
print("C语言中文网")
如果在其他文件中,仍以 import 语句将其引入,Python 解释器会报 SyntaxError 错误:

>>>import demo text
SyntaxError: invalid syntax

不仅如此,如果模块名称以数字开头,也无法使用 import 语句正常导入。例如将 "demo text"模块文件名改为 "1demo",并使用 import 尝试导入,也会报 SyntaxError 错误:

>>> import 1demo
SyntaxError: invalid syntax


针对以上这两种情况,如果模块中包含空格或者以数字开头,就需要使用 Python 提供的 __import__() 内置函数引入模块。例如,当模块名为"demo text" 时,引入方法如下:
__import__("demo text")
运行结果为:

C语言中文网


同样,如果模块名为 "1demo",则引入方法如下:
__import__("1demo")
运行结果为:

C语言中文网

注意,使用 __import__() 函数引入模块名时,要以字符串的方式将模块名引入,否则会报 SyntaxError 错误。

爱面试的程序媛,一个分享面试经验的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,定时分享程序员面试的那点事。

面试如何造火箭?工作如何拧螺丝?都在这个公号哦。

扫描二维码关注公众号,免费领取价值 1000 元的求职面试资料(限时免费)!

当你决定关注「爱面试的程序媛」,你已然超越了90%的程序员!

爱面试的程序媛二维码
微信扫描二维码关注

所有教程

相关文章