如何使用Python导入模块并判断当前文件是否为模块入口点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1277个文字,预计阅读时间需要6分钟。
本文以实例讲述了Python模块的定义、模块的导入、`__name__`用法等。
相关内容:
- 什么是模块:模块是Python代码的集合,通常包含一系列函数、类和变量。模块可以用于组织代码、提高代码复用性。- 模块的导入:使用`import`语句可以将模块导入到当前的作用域中。- `__name__`用法:`__name__`是一个内置变量,用于存储模块的名称。
具体内容:
- 模块的定义:模块可以是一个Python文件,文件名通常以`.py`结尾。在模块文件中,可以定义函数、类和变量等。- 模块的导入:使用`import`语句导入模块,例如`import os`。- `__name__`用法:在模块内部,`__name__`可以用来判断模块是被直接运行还是被导入。如果模块被直接运行,`__name__`的值为`'__main__'`;如果模块被导入,`__name__`的值为模块的名称。
实例:
pythonmy_module.py
def greet(name): print(fHello, {name}!)
if __name__=='__main__': greet(World)
pythonmain.py
import my_module
my_module.greet(Python)
在这个例子中,`my_module.py`是一个模块,它定义了一个`greet`函数。`main.py`是主程序,它导入`my_module`模块并调用其`greet`函数。
本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:
相关内容:
- 什么是模块
- 模块的导入
- 模块的导入
- 自模块的导入
- 同级目录导入
- 不同级目录导入
- 目录内导入目录外
- 目录外导入目录内
- __name__
什么是模块:
在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个模块中的某个方法或类,那么我们就需要导入对应的模板。
模块的使用:模块.函数 , 模块.类
#函数 import math print(math.sqrt(3)) #类 import threading a=threading.Thread() print(a)
模块的导入:
-
模块导入:
- import 模块名
#import 模块名 import math print(math.sqrt(9))
- from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容
#from 模块名 import 类名、方法名 from collections import Iterable print(isinstance("abc",Iterable)) print(isinstance([1,2,3],Iterable))
- from…import导入的时候还能给导入的部分起个自定义的名字:如:from … import funcA as fa
-
自模块导入:
Python import 的搜索路径
1.在当前目录下搜索该模块
2.在环境变量 PYTHONPATH 中指定的路径列表中依次搜索
import sys print(sys.path) ---------- 运行结果: ['J:\\HardWork\\Code\\python', 'J:\\HardWork\\Code\\python', 'I:\\python3\\python36.zip', 'I:\\python3\\DLLs', 'I:\\python3\\lib', 'I:\\python3', 'I:\\python3\\lib\\site-packages']
3.在 Python 安装路径的 lib 库中搜索
-
同级目录导入:直接导入
-
不同级目录导入:将对应目录加入到sys.path中,再import
-
目录内的b导入目录外的c
-
目录结构:
c中内容:
b中如何导入c:
import sys,os print(__file__)##这是当前文件的绝对路径 parent_dir=os.path.dirname(__file__)##获得当前文件的目录 pp_dir=os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要导入c,必须将diff_dir加入sys.path中
-
目录外的c导入目录内的d
目录结构:
d中内容:
c中如何导入d:
from d2 import d
或:
import d2.d
结果:
__name__:
由于模块既可以被导入,也可以被直接运行,为了区分什么是直接运行时运行的内容,所以有了__name__:
当直接运行时,__name__是__main__:
print("import C done") print(__name__) if __name__=='__main__': print("direct run") --------------- 运行结果: import C done __main__ direct run
当用于导入时,__name__是当前导入的模块名,由于__name__不等于__main__,所以不会执行:
import sys,os # print(__file__)##这是当前文件的绝对路径 parent_dir=os.path.dirname(__file__)##获得当前文件的目录 pp_dir=os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要导入c,必须将diff_dir加入sys.path中 ------------------ 运行结果: import C done c
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
本文共计1277个文字,预计阅读时间需要6分钟。
本文以实例讲述了Python模块的定义、模块的导入、`__name__`用法等。
相关内容:
- 什么是模块:模块是Python代码的集合,通常包含一系列函数、类和变量。模块可以用于组织代码、提高代码复用性。- 模块的导入:使用`import`语句可以将模块导入到当前的作用域中。- `__name__`用法:`__name__`是一个内置变量,用于存储模块的名称。
具体内容:
- 模块的定义:模块可以是一个Python文件,文件名通常以`.py`结尾。在模块文件中,可以定义函数、类和变量等。- 模块的导入:使用`import`语句导入模块,例如`import os`。- `__name__`用法:在模块内部,`__name__`可以用来判断模块是被直接运行还是被导入。如果模块被直接运行,`__name__`的值为`'__main__'`;如果模块被导入,`__name__`的值为模块的名称。
实例:
pythonmy_module.py
def greet(name): print(fHello, {name}!)
if __name__=='__main__': greet(World)
pythonmain.py
import my_module
my_module.greet(Python)
在这个例子中,`my_module.py`是一个模块,它定义了一个`greet`函数。`main.py`是主程序,它导入`my_module`模块并调用其`greet`函数。
本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:
相关内容:
- 什么是模块
- 模块的导入
- 模块的导入
- 自模块的导入
- 同级目录导入
- 不同级目录导入
- 目录内导入目录外
- 目录外导入目录内
- __name__
什么是模块:
在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个模块中的某个方法或类,那么我们就需要导入对应的模板。
模块的使用:模块.函数 , 模块.类
#函数 import math print(math.sqrt(3)) #类 import threading a=threading.Thread() print(a)
模块的导入:
-
模块导入:
- import 模块名
#import 模块名 import math print(math.sqrt(9))
- from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容
#from 模块名 import 类名、方法名 from collections import Iterable print(isinstance("abc",Iterable)) print(isinstance([1,2,3],Iterable))
- from…import导入的时候还能给导入的部分起个自定义的名字:如:from … import funcA as fa
-
自模块导入:
Python import 的搜索路径
1.在当前目录下搜索该模块
2.在环境变量 PYTHONPATH 中指定的路径列表中依次搜索
import sys print(sys.path) ---------- 运行结果: ['J:\\HardWork\\Code\\python', 'J:\\HardWork\\Code\\python', 'I:\\python3\\python36.zip', 'I:\\python3\\DLLs', 'I:\\python3\\lib', 'I:\\python3', 'I:\\python3\\lib\\site-packages']
3.在 Python 安装路径的 lib 库中搜索
-
同级目录导入:直接导入
-
不同级目录导入:将对应目录加入到sys.path中,再import
-
目录内的b导入目录外的c
-
目录结构:
c中内容:
b中如何导入c:
import sys,os print(__file__)##这是当前文件的绝对路径 parent_dir=os.path.dirname(__file__)##获得当前文件的目录 pp_dir=os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要导入c,必须将diff_dir加入sys.path中
-
目录外的c导入目录内的d
目录结构:
d中内容:
c中如何导入d:
from d2 import d
或:
import d2.d
结果:
__name__:
由于模块既可以被导入,也可以被直接运行,为了区分什么是直接运行时运行的内容,所以有了__name__:
当直接运行时,__name__是__main__:
print("import C done") print(__name__) if __name__=='__main__': print("direct run") --------------- 运行结果: import C done __main__ direct run
当用于导入时,__name__是当前导入的模块名,由于__name__不等于__main__,所以不会执行:
import sys,os # print(__file__)##这是当前文件的绝对路径 parent_dir=os.path.dirname(__file__)##获得当前文件的目录 pp_dir=os.path.dirname(parent_dir) sys.path.append(pp_dir) # print(sys.path) import c #要导入c,必须将diff_dir加入sys.path中 ------------------ 运行结果: import C done c
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。

