Python 如何在Python 3中从当前目录中导入文件

Python 如何在Python 3中从当前目录中导入文件

在本文中,我们将介绍如何在Python 3中从当前目录中导入文件。导入文件是在开发中常见的任务,它允许我们在一个Python脚本中使用其他Python脚本或模块的功能。

阅读更多:Python 教程

使用相对导入

如果要从当前目录中导入文件,可以使用相对导入。相对导入是通过指定相对路径从当前目录中导入文件或模块。

Python 3中,可以使用点(.)来表示当前目录。例如,假设我们有一个名为”helper.py”的模块,它位于与当前脚本相同的目录中,我们可以使用相对导入将它导入。

from . import helper

上面的代码使用相对导入将当前目录中的”helper.py”模块导入到当前脚本中。然后,我们可以使用”helper”模块中定义的函数或类。

这种导入方式适用于当前目录中的文件或模块。如果要导入当前目录中的子目录中文件或模块,可以使用点(.)和子目录名来指定相对路径。例如:

from .subdirectory import module

上面的代码导入了子目录”subdirectory”中的”module.py”文件或模块。

使用绝对导入

除了相对导入,我们还可以使用绝对导入来从当前目录中导入文件。绝对导入是通过指定绝对路径从当前目录中导入文件或模块。

在Python 3中,可以使用包的名称来指定绝对路径。包是一个包含多个模块的目录,并且必须包含一个名为”init.py”的文件。

假设我们有一个包名为”mypackage”,它包含一个名为”module.py”的模块,位于与当前脚本相同的目录中。我们可以使用绝对导入将它导入。

from mypackage import module

上面的代码使用绝对导入将当前目录中的”mypackage”包中的”module.py”模块导入到当前脚本中。然后,我们可以使用”module”模块中定义的函数或类。

这种导入方式适用于当前目录中的包或模块。如果要导入当前目录中的子目录中的包或模块,可以使用包的名称和子目录名来指定绝对路径。例如:

from mypackage.subdirectory import module

上面的代码导入了子目录”subpackage”中的包”mypackage”中的”module.py”文件或模块。

导入具体功能

除了导入整个文件或模块,我们还可以从文件或模块中导入具体的功能。这样可以避免导入整个文件或模块,只导入我们实际需要使用的功能,从而减少不必要的开销。

在Python中,可以使用以下语法来导入具体的功能:

from module import function

上面的代码从名为”module”的文件或模块中导入名为”function”的函数。然后,我们可以直接使用该功能,而不需要使用”module.”前缀。

如果要导入多个功能,可以使用逗号分隔它们:

from module import function1, function2, function3

上面的代码导入了名为”function1″、”function2″和”function3″的三个函数。

示例

下面是一个示例,演示如何在Python 3中从当前目录中导入文件:

假设我们有以下目录和文件结构:

myproject/
  ├── main.py
  └── helpers/
      ├── helper1.py
      └── helper2.py

“main.py”是我们的主要脚本。我们想要从”helpers”目录中的文件中导入一些辅助功能。

首先,我们可以使用相对导入从当前目录中的”helpers”目录中导入文件。在”main.py”中,我们可以这样做:

from .helpers import helper1, helper2

helper1.function1()
helper2.function2()

上面的代码导入了”helper1.py”和”helper2.py”文件,并使用它们中定义的函数。

此外,我们还可以使用绝对导入来导入文件。在”main.py”中,我们可以这样做:

from myproject.helpers import helper1, helper2

helper1.function1()
helper2.function2()

上面的代码也导入了”helper1.py”和”helper2.py”文件,并使用它们中定义的函数。

无论是相对导入还是绝对导入,我们都可以根据实际需求选择适合的导入方式。

总结

在本文中,我们介绍了如何在Python 3中从当前目录中导入文件。我们了解到可以使用相对导入或绝对导入来实现这个任务。相对导入使用点(.)来表示当前目录,可用于导入当前目录中的文件或模块,以及当前目录中的子目录中的文件或模块。绝对导入使用包的名称来表示路径,可用于导入当前目录中的包或模块,以及当前目录中的子目录中的包或模块。此外,我们还介绍了如何导入具体的功能,以避免导入整个文件或模块。希望本文对你在Python开发中的导入文件任务有所帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程