我可以一次从一个文件夹中导入所有 Python 文件吗?

数据科学学习者

我想知道是否可以从文件夹中导入所有 Python 文件,还是需要单独导入每个文件?我建立了一个项目,其中有一个文件夹“website_functions”,其中包含 20 个 Python 文件。它们每个都包含一个功能(我使用 Selenium 访问不同的网站,每个文件对应一个网站)。不必单独导入它们会使其更快。

预先感谢您的回答

肖恩·杨

是的,这是可能的。在您要导入的文件夹满档,指定在一个名为列表中的所有文件名__all____init__.py的文件。从您希望将文件导入到的程序中,您现在可以使用from directory import *.

考虑以下示例。

项目目录结构:

.
|-- main.py
`-- modules
    |-- __init__.py
    |-- f.py
    `-- g.py

1 directory, 4 files

主文件

from modules import *

f.f1()
f.f2()
g.g1()
g.g2()

模块/f.py

def f1():

    print("This is f1() from modules/f.py.")

def f2():

    print("This is f2() from modules/f.py.")

模块/g.py

def g1():

    print("This is g1() from modules/g.py.")

def g2():

    print("This is g2() from modules/g.py.")

模块/__init__.py

__all__ = ["f", "g"]

main.py 的输出如下。

This is f1() from modules/f.py.
This is f2() from modules/f.py.
This is g1() from modules/g.py.
This is g2() from modules/g.py.

如果您希望每次运行程序时都自动生成__all__列表 in __init__.py,则可以使用该os库来实现。例如:

(我已经从这个例子中删除了 f.py 以免干扰 . 的f属性modules。)

模块/__init__.py

import os

__all__ = []
dirname = os.path.dirname(os.path.abspath(__file__))

for f in os.listdir(dirname):
    if f != "__init__.py" and os.path.isfile("%s/%s" % (dirname, f)) and f[-3:] == ".py":
        __all__.append(f[:-3])

主文件

from modules import *

g.g1()
g.g2()

main.py 的输出如下。

This is g1() from modules/g.py.
This is g2() from modules/g.py.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以在python shell中的一个文件中定义所有导入吗

使用Python将所有文件从一个SFTP文件夹存档到另一个文件夹

我想从一个文件夹中导入所有命令文件并在 ES6 中执行它们

从我的模块中的另一个文件夹在 python 中导入模块函数

有没有一种方法可以使用python中该文件名的子文本将文件从一个文件夹复制到另一个文件夹?

如何将一种特定类型的所有文件从一个文件夹复制到 Python 中的另一个文件夹

使用python将具有特定名称的文件从一个文件夹复制到另一个文件夹

如何在Python中将具有随机名称的文件从一个文件夹移动到另一个文件夹?

IsADirectoryError:[Errno 21]是目录:'/',同时将文件从一个文件夹复制到另一个现有文件夹Python

python将所有模块导入到一个python文件中,我们可以将其导入另一个文件中?

Python为一个文件夹中的所有文件夹创建多个zip文件

一次性将所有暂存的文件,文件夹等从一个分支转移到另一个分支

从另一个文件夹导入 python 模块,主目录带有“-”

我可以在 Python 中创建一个数据文件并将其导入其他 Python 文件吗

从一个文件夹中复制所有文件和文件夹

使用python从一个文件夹中读取多个日志文件

从不是子文件夹的另一个文件夹导入python文件

Python-一次从一个文件读取1000行

我可以制作一个带有python程序文件的应用程序吗?

我们可以为 python 创建一个 venv 并在 VSCode、Windows 10 的其他文件夹中使用该 venv 吗?

将python与mobaxterm结合使用可将25个随机文件从一个文件夹复制到另一个文件夹

如何从另一个文件夹中的文件导入python类?

VSCode的Python linter认为从文件夹中另一个文件的导入是错误的

我正在编写python脚本,通过在一行中给出输入值,将图像文件(.jpg)从一个文件夹复制到另一个文件夹

Python将文件和目录从一个文件夹移动到另一个文件夹

使用python将某些文件从一个文件夹复制到另一个文件夹

Python脚本将特定文件从一个文件夹移动到另一个文件夹

使用python仅将更新/新文件从一个文件夹复制到另一个文件夹

Google云端存储-将文件从一个文件夹移动到另一个文件夹-使用Python