如何将 py 文件导入主 python 脚本?
How to import py files into a main python script?
所以我有一个看起来像这样的数据清理项目:
import math
import os
import pandas as pd
import math
class CustomDataFrame():
code
class CustomDataFrameItem():
code
class Util():
code
class Program():
code
if __name__ == "__main__":
p = Program()
p.run()
但是,我希望将 4 个 classes 放入单独的 py 文件中,并有一个仅包含
的主文件
if __name__ == "__main__":
p = Program()
p.run()
但是我不确定如何调用所有 class 文件,如果我将它们分开。
你能告诉我该怎么做吗?提前谢谢你。
我强烈建议查看 official documentation or a tutorial 以了解 import
命令。
如果它们都在同一目录中没有任何问题,您可以将它们拆分成单独的文件并导入它们。
此答案假定您的目录具有以下结构:
.
| - file1.py
| - file2.py
| - ...etc
| - main.py
如果您想嵌套目录,请参阅其他答案。他们的回答包括如何使用 __init__.py
来解决这个问题。
如果您在单个文件中定义了 类,则只需导入该脚本所需的标准库。例如,如果 CustomDataFrame
需要 RequiredModule1
和 RequiredModule2
但不需要 matplotlib
,您可以将其写在 file1.py
.
中
file1.py
import RequiredModule1
import RequiredModule2
#etc
class CustomDataFrame():
code
您可以将它们分离到单独的文件中,或者将模块组合到一个文件中并导入它们中的每一个。
file2.py
class CustomDataFrameItem():
code
class Program():
code
main.py
from file1 import CustomDataFrame
from file2 import CustomDataFrameItem, Program
if __name__ == "__main__":
p = Program()
p.run()
请注意,不要将文件扩展名 .py
放在 from fileX import xxx
上。 .py
由解释器推断。
以文件结构为例:
-main.py
-folder_1
|---file1.py
|---file2.py
可以通过在包含所有 .py
文件的文件夹中指定空 __init__.py
文件来完成。
看起来像这样:
-main.py
-folder_1
|---file1.py
|---file2.py
|---__init__.py
所以我有一个看起来像这样的数据清理项目:
import math
import os
import pandas as pd
import math
class CustomDataFrame():
code
class CustomDataFrameItem():
code
class Util():
code
class Program():
code
if __name__ == "__main__":
p = Program()
p.run()
但是,我希望将 4 个 classes 放入单独的 py 文件中,并有一个仅包含
的主文件if __name__ == "__main__":
p = Program()
p.run()
但是我不确定如何调用所有 class 文件,如果我将它们分开。
你能告诉我该怎么做吗?提前谢谢你。
我强烈建议查看 official documentation or a tutorial 以了解 import
命令。
如果它们都在同一目录中没有任何问题,您可以将它们拆分成单独的文件并导入它们。
此答案假定您的目录具有以下结构:
.
| - file1.py
| - file2.py
| - ...etc
| - main.py
如果您想嵌套目录,请参阅其他答案。他们的回答包括如何使用 __init__.py
来解决这个问题。
如果您在单个文件中定义了 类,则只需导入该脚本所需的标准库。例如,如果 CustomDataFrame
需要 RequiredModule1
和 RequiredModule2
但不需要 matplotlib
,您可以将其写在 file1.py
.
file1.py
import RequiredModule1
import RequiredModule2
#etc
class CustomDataFrame():
code
您可以将它们分离到单独的文件中,或者将模块组合到一个文件中并导入它们中的每一个。
file2.py
class CustomDataFrameItem():
code
class Program():
code
main.py
from file1 import CustomDataFrame
from file2 import CustomDataFrameItem, Program
if __name__ == "__main__":
p = Program()
p.run()
请注意,不要将文件扩展名 .py
放在 from fileX import xxx
上。 .py
由解释器推断。
以文件结构为例:
-main.py
-folder_1
|---file1.py
|---file2.py
可以通过在包含所有 .py
文件的文件夹中指定空 __init__.py
文件来完成。
看起来像这样:
-main.py
-folder_1
|---file1.py
|---file2.py
|---__init__.py