2017-10-20 119 views
0

我正在PyCharm中處理Python項目。對於一個文件,我想使用Python控制檯測試部分代碼。問題是,該代碼包含這樣的主方法(用於調試和執行):PyCharm:在Python控制檯中執行

if __name__ == "__main__": 
    print("with main") 
else: 
    print("no main") 

當我執行在Python控制檯的代碼(使用PyCharm的上下文菜單),那麼如果意願的第一部分被執行。因爲我沒有使用運行配置啓動腳本,所以我期待其他部分。

也許你可以幫助我如何做到這一點。

+0

但是,這正是你想要在Python控制檯中運行,對不對?它的行爲完全像程序。你爲什麼不喜歡它? – mrCarnivore

+0

是的,沒有。如果我從shell或通過PyCharm的運行配置啓動腳本,那麼我將添加一些參數,然後在if部分中進行提取和處理。但是如果我想在控制檯中測試腳本,那麼我無法指定命令行參數。這就是爲什麼我會將默認值添加到else部分。 – Matthias

+0

好點......我從來沒有這個問題。如果它的工作,這將是一個很好的解決方案... – mrCarnivore

回答

0

創建像not_main_start.py這樣的文件只有一行import main.py(我想這是你的主文件)。運行然後這個文件。輸出應顯示no main。僅當您直接調用此文件時,__name__將被命名爲__main__。如果您將它用作模塊,那麼它將具有模塊的名稱。

+0

有趣的想法。但最後你想要解析主文件中的命令行參數,然後調用其他文件的方法。所以你的導入是相反的。 – Matthias

相關問題