为项目导入库
Importing libraries for projects
我有一个包含多个 类 和文件的 python 项目。
这是我的文件夹结构:
main.py
directory
|_ parent_class.py
|_sub_directory_1
|_child_class_1.py
|_sub_directory_2
|_child_class_2.py
我正在使用 pandas 和 numpy 等相同的导入,例如在所有文件中。有没有办法一次性导入这些代码,这样我的代码就更干净了?
非常感谢。
除非有一个文件被所有其他文件导入,否则您无法执行此操作。即使在那种情况下,您也必须使用 from <file> import *
(这不是一个好的做法),或者每次您想要引用其中一个模块时都使用 <file>.<module>
,这只会让事情变得不必要地长。
因此,这样做通常不是一个好主意...
...但是,如果所有文件共享大量导入,并且您确定这样做会使您的代码更清晰,您可以考虑专门为此目的创建一个新文件。
例如,您可以在顶层添加一个名为 common_imports
的文件,将所有导入内容放在那里,然后在每个文件的开头使用 from common_imports import *
。
所以:
common_imports.py
import numpy as np
import pandas as pd
...
...
其他文件
from common_imports import *
... # Other imports
...
...
有一种方法可以在父模块中“重构”您的导入,然后从 parent_module.
导入 *
但是我不推荐这种做法,因为您的项目增长得越多,您就越有可能产生循环导入!
我会说最好的做法是只在你真正需要它们的地方导入你的 packages/modules。如果你想要一个更干净的代码库,我可以向你推荐诸如 isort 之类的工具,它会自动格式化你的导入!
我有一个包含多个 类 和文件的 python 项目。
这是我的文件夹结构:
main.py
directory
|_ parent_class.py
|_sub_directory_1
|_child_class_1.py
|_sub_directory_2
|_child_class_2.py
我正在使用 pandas 和 numpy 等相同的导入,例如在所有文件中。有没有办法一次性导入这些代码,这样我的代码就更干净了? 非常感谢。
除非有一个文件被所有其他文件导入,否则您无法执行此操作。即使在那种情况下,您也必须使用 from <file> import *
(这不是一个好的做法),或者每次您想要引用其中一个模块时都使用 <file>.<module>
,这只会让事情变得不必要地长。
因此,这样做通常不是一个好主意...
...但是,如果所有文件共享大量导入,并且您确定这样做会使您的代码更清晰,您可以考虑专门为此目的创建一个新文件。
例如,您可以在顶层添加一个名为 common_imports
的文件,将所有导入内容放在那里,然后在每个文件的开头使用 from common_imports import *
。
所以:
common_imports.py
import numpy as np
import pandas as pd
...
...
其他文件
from common_imports import *
... # Other imports
...
...
有一种方法可以在父模块中“重构”您的导入,然后从 parent_module.
导入 *但是我不推荐这种做法,因为您的项目增长得越多,您就越有可能产生循环导入!
我会说最好的做法是只在你真正需要它们的地方导入你的 packages/modules。如果你想要一个更干净的代码库,我可以向你推荐诸如 isort 之类的工具,它会自动格式化你的导入!