繁体   English   中英

如何从主 python 文件正确运行单独的 python 脚本?

[英]How do I properly run a separate python script from main python file?

我试图让我的 python 脚本更加模块化——当所有内容都在一个冗长的 .py 文件中时它可以正常工作,但我想使用主 python 文件调用其他文件来简化流程并使升级更容易。

我正在为包导入而苦苦挣扎。 我正在使用的一个包是os ,我在主文件中导入它:

import os
import pandas as pd
import numpy as np
from code_module_1 import *

if __name__ == '__main__':
    code_module_1()

我还在名为 code_module_1.py 的 python 文件的顶部导入它:

import os
import glob
import pandas as pd
import numpy as np

def function_called_from_main():
    for root, dirs, files in os.walk('...file_path'):
        etc.

当我这样做时,我收到一条错误消息,指出the name 'os' is not defined ,我认为这意味着该包没有被导入到code_module_1

我试图通过将导入包的代码行放在我从主脚本调用的函数中来解决这个问题,但我仍然遇到了同样的错误。 我应该在哪里导入包,以及如何确保被调用的其他 python 文件具有它们需要运行的包?

使用以下行

from code_module_1 import *

您导入模块中定义的所有内容。 所以基本上,所有的函数定义都可用。

接下来,您无法执行模块。 您只能执行一个函数或一条语句。 因此,以下行

if __name__ == '__main__':
    code_module_1()

应该是这样的:

if __name__ == '__main__':
    function_called_from_main()

您可以在其中执行先前导入的函数function_called_from_main

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM