在 PyCharm 里運(yùn)行程序
前一節(jié)我們學(xué)習(xí)了如何進(jìn)行調(diào)試/運(yùn)行配置, 本節(jié)將學(xué)習(xí)在 PyCharm 里如何執(zhí)行程序,在執(zhí)行程序中如何查看結(jié)果、日志,以及終止與暫停程序運(yùn)行等等。
1. 執(zhí)行程序的幾種方法
PyCharm 提供了多種運(yùn)行方式:
選擇主菜單 Run -> Run… 運(yùn)行或按 ??F10 (Alt + Shitf +F10),然后選擇所需的運(yùn)行/調(diào)試配置。列表中顯示項(xiàng)目中存在的所有運(yùn)行/調(diào)試配置。
在編輯器內(nèi),右鍵在上下文菜單選擇要執(zhí)行命令。
點(diǎn)擊編輯區(qū)右側(cè)執(zhí)行按鈕(綠色箭頭), 選擇要執(zhí)行的命令。
在 Project 工具窗口, 選擇要運(yùn)行的文件,右鍵在上下文菜單選擇要運(yùn)行的命令。
2. 查看運(yùn)行結(jié)果
點(diǎn)擊執(zhí)行后,可以在 Run 工具窗口中查看正在運(yùn)行的應(yīng)用程序的任何輸出。每個(gè)應(yīng)用程序的輸出將顯示在其自己的工具窗口選項(xiàng)卡中,該選項(xiàng)卡以相應(yīng)的運(yùn)行/調(diào)試配置命名。
Tips: 可以通過重新執(zhí)行按鈕重新執(zhí)行程序,輸出結(jié)果依然在當(dāng)前的 Tab 內(nèi), 如果通過上面的任意方式運(yùn)行程序,將會(huì)創(chuàng)建新的 Tab 顯示輸出。
除此以外,如果在 Run/Debug 配置過程中,選擇了在 Python 控制臺(tái) 或者 Terminal 控制臺(tái)工具窗口執(zhí)行,當(dāng)執(zhí)行程序時(shí),會(huì)在選擇的工具窗口顯示輸出, Run 工具窗口將不再顯示。
如果在Run/Debug 配置中, 把 Python 加到 Services 工具窗口中,運(yùn)行程序后,你將在Service 窗口中看到輸出結(jié)果。
3. 查看正在運(yùn)行進(jìn)程
PyCharm 可以查看所有正在運(yùn)行的應(yīng)用程序。只有存在正在運(yùn)行的程序時(shí),主菜單 Run - > Showing Running List
才是可用的,否則為灰色不可用狀態(tài)。點(diǎn)擊菜單,在編輯器的右上角,顯示一個(gè)包含所有正在運(yùn)行的配置列表。
Tips: 這個(gè)功能只有在程序運(yùn)行在 Run 工具窗口才生效,在其它控制臺(tái)窗口運(yùn)行不生效。
4. 配置日志信息顯示
如果運(yùn)行的程序或者服務(wù)生成了日志文件,相應(yīng)的日志信息也可以顯示在 Run 控制臺(tái)。 可以使用 Run/Debug Configuration 對(duì)話框中的 Logs 選項(xiàng)卡配置在控制臺(tái)中的顯示方式。
為了幫助理解,在主程序里添加下列代碼,生成日志文件 log.txt, 并寫了三行信息到文件里。然后運(yùn)行代碼,這樣就會(huì)在當(dāng)前項(xiàng)目目錄下生成 log.txt。
if __name__ == '__main__':
import logging
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)
handler = logging.FileHandler("log.txt")
handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")
打開"運(yùn)行/調(diào)試配置"對(duì)話框中,單擊"Logs"選項(xiàng)卡。點(diǎn)擊 +
, “Edit Log Files Aliases” 窗口將顯示,選擇要在控制臺(tái)顯示的日志文件,選擇上面運(yùn)行代碼生成的日志文件 log.txt。
選擇日志文件后,顯示下面窗口。 可以加多個(gè)日志文件,通過復(fù)選框 Is Active 控制是否要顯示在控制臺(tái), 復(fù)選框 Skip Content 控制是否在控制臺(tái)顯示文件中原有的內(nèi)容,如果選中,只顯示本次運(yùn)行生成的日志內(nèi)容。
運(yùn)行程序,在 Run 控制臺(tái)窗口 可以看到增加了log 選項(xiàng)卡。
5. 小結(jié)
在PyCharm 里運(yùn)行程序有多種方式可以選擇,大家可以根據(jù)自己習(xí)慣去選擇是用快捷鍵、還是菜單。運(yùn)行結(jié)果顯示在哪個(gè)控制臺(tái),是否通過 Service 工具窗口控制運(yùn)行與停止,都與事先定義的運(yùn)行配置相關(guān),具體要根據(jù)個(gè)人的使用習(xí)慣決定。