[英]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.