0
我有一個python DES腳本,以main()的調用結束。運行主菜單並啓動DES過程。我想用另一個腳本運行我的DES功能分析。每當我做一些類似from DES.py import des
的嘗試,以避免主跑,它仍然開始。 如何導入函數並保持對main的尾部引用不被調用?從自動運行腳本導入Python函數
我有一個python DES腳本,以main()的調用結束。運行主菜單並啓動DES過程。我想用另一個腳本運行我的DES功能分析。每當我做一些類似from DES.py import des
的嘗試,以避免主跑,它仍然開始。 如何導入函數並保持對main的尾部引用不被調用?從自動運行腳本導入Python函數
當您在Python中使用import
模塊時,您將執行該模塊中的代碼。所以,如果你的模塊看起來是這樣的:
def main():
print 'Hello, world.'
main()
然後每次導入模塊的時候,它會執行調用 main()
。爲防止這種情況發生,您可以查看 變量__name__
,它在主程序中設置爲__main__
,這是由解釋程序直接啓動的東西 - 。當您將 import
一個模塊,__name__
設置爲其他(通常, 模塊的名稱)。如果你想有一個是當 直接執行你的模塊(python mymodule.py
)運行,但導入您的模塊(import mymodule
)時,忽略 代碼,那麼你可以檢查 值__name__
變量:
def main():
print 'Hello, world.'
if __name__ == '__main__':
main()
的以上代碼將直接運行時執行main()
,但導入時不會執行 。