如何将 py 文件导入到主 Python 脚本中?

12 浏览
0 Comments

如何将 py 文件导入到主 Python 脚本中?

所以我有一个数据清理项目,看起来像这样:

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个类放入各自的py文件中,并有一个只包含下面内容的主文件

if __name__ == "__main__":
        p = Program()
        p.run()  

但是如果我将它们分开,我不确定如何调用所有的类文件。

你能告诉我该怎么做吗?谢谢你提前。

admin 更改状态以发布 2023年5月21日
0
0 Comments

在文件结构的情况下:

-main.py
-folder_1
 |---file1.py
 |---file2.py

可以通过在包含所有.py文件的文件夹中指定空的__init__.py文件来完成。

它会像这样:

-main.py
-folder_1
 |---file1.py
 |---file2.py
 |---__init__.py

0
0 Comments

我强烈推荐您查看官方文档教程了解import命令。

如果它们都在同一个目录中,您可以将它们拆分成单独的文件并导入它们,而不会出现任何问题。

此答案假定您的目录结构如下:

.
| - file1.py
| - file2.py
| - ...etc
| - main.py

如果您希望嵌套您的目录,请参阅其他答案。他们的答案涵盖了如何使用__init__.py来处理这个问题。

如果您的类在单独的文件中定义,您只需要导入脚本所需的标准库。例如,如果CustomDataFrame需要RequiredModule1RequiredModule2,但不需要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()

请注意,在from fileX import xxx中不要放置文件扩展名.py。解释器会自动推断出.py扩展名。

0