在 Python 中导入文件
 
模块是由 Python 代码组成的文件,其中包含函数、类和变量。本文将解释如何在 Python 中导入其他文件或模块。
在 Python 中导入文件
有许多不同的方法可以在 Python 中导入另一个文件或模块。本文的其余部分将解释这些方法。
示例中使用的 test.py 文件的内容如下。
def func_from_test():
    print("func_from_test called")
def func_from_test_2():
    print("func_from_test_2 called")
使用 import 导入整个模块
import 语句查找模块、加载和初始化。如果使用 as 语句,它会在本地命名空间中为 import 语句出现的范围定义一个名称。
as 表达式的使用是可选的。如果不使用,则模块以其原始形式命名。
要导入多个模块,你可以用逗号编写它们。
以下程序将导入 test.py 中的所有函数。
import test as t
t.func_from_test()
t.func_from_test_2()
使用 from .. import .. 导入特定模块
带有 import 语句的 from 查找在 from 子句中指定的模块、加载和初始化。它检查导入的模块是否具有具有该名称的属性,如果未找到该属性,则会引发 ImportError。
以下程序将仅导入 test.py 中的 func_from_test 函数。
from test import func_from_test
func_from_test()
你可以使用星号 (*) 导入所有函数。
from test import *
func_from_test()
func_from_test_2()
使用 from 语句时,调用导入函数时无需使用模块名称。
使用 exec 从另一个 Python 文件执行函数
exec() 函数提供 Python 代码的动态执行。假设给定一个字符串作为参数;它被解析为稍后执行的 Python 语句包。
open() 函数中指定的文件在下面的示例中打开。文件内容通过 read() 函数读取,并作为字符串参数提供给 exec() 函数。
然后你可以调用 test.py 中的函数。
exec(open("test.py").read())
func_from_test()
使用 os.system 执行 Python 文件
system 命令包含在 os 模块中,并在子 shell 中执行作为字符串给出的命令。在以下示例中,执行 file.py 文件。
import os
os.system("python test.py")
从不同位置导入文件
sys.path 语句包括指定模块搜索路径的字符串列表。我们可以将要安装模块的目录添加到此列表中。
为此,我们使用 os.path.abspath() 函数。此函数返回作为参数给出的路径名的规范化绝对版本。
因此,不同位置的文件被添加到路径中,我们可以使用 import 语句导入它。
from test import *
import sys
import os
sys.path.append(os.path.abspath("/home/user/files"))
func_from_test()
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn