Python __import__()函数引入模块名
前面讲过,其实模块就是一个代码文件,因此要求其文件名要符合操作系统的命名规则。
这可能会遇到一个问题,即操作系统中允许文件名中包含空格,也就是说,模块文件可以起名为类似“a b”的形式。但这和 Python 语法相矛盾,换句话说,Python 是以空格来隔离一行语句中的不同元素的,如果模块名中出现空格,就无法再使用 import 引入。
例如,我们自定义一个模块,并起名为 "demo text.py",该模块中只包含如下输出语句:
针对以上这两种情况,如果模块中包含空格或者以数字开头,就需要使用 Python 提供的 __import__() 内置函数引入模块。例如,当模块名为"demo text" 时,引入方法如下:
同样,如果模块名为 "1demo",则引入方法如下:
这可能会遇到一个问题,即操作系统中允许文件名中包含空格,也就是说,模块文件可以起名为类似“a b”的形式。但这和 Python 语法相矛盾,换句话说,Python 是以空格来隔离一行语句中的不同元素的,如果模块名中出现空格,就无法再使用 import 引入。
例如,我们自定义一个模块,并起名为 "demo text.py",该模块中只包含如下输出语句:
print("C语言中文网")如果在其他文件中,仍以 import 语句将其引入,Python 解释器会报 SyntaxError 错误:
>>>import demo text
SyntaxError: invalid syntax
>>> import 1demo
SyntaxError: invalid syntax
针对以上这两种情况,如果模块中包含空格或者以数字开头,就需要使用 Python 提供的 __import__() 内置函数引入模块。例如,当模块名为"demo text" 时,引入方法如下:
__import__("demo text")运行结果为:
C语言中文网
同样,如果模块名为 "1demo",则引入方法如下:
__import__("1demo")运行结果为:
C语言中文网
注意,使用 __import__() 函数引入模块名时,要以字符串的方式将模块名引入,否则会报 SyntaxError 错误。
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频