[英]How do I keep my code open in the shell with a pass command in the main() function?
我正在嘗試學習如何將Web瀏覽器機器人構建為對其他人的一半學習一半的項目,但我遇到了麻煩。
我用作指導的網站有:
def main():
pass
他聲稱可以使外殼窗口保持打開狀態,他可以運行各種功能,例如獲取鼠標位置的x,y線並進行屏幕截圖。
但是,當我完全按照指南中的說明運行代碼時,它會立即打開和關閉。
我不需要的是這樣的東西,“使其按Enter即可關閉shell”,需要發生的是窗口保持打開狀態,以便我可以輸入各種功能。
我究竟做錯了什么? 我是否想只將代碼導入另一個shell中並在其外部運行函數?
編碼:
import os
import time
import ImageGrab
x_pad = 0
y_pad = 61
def screenGrab():
box = (x_pad,y_pad,x_pad+1919,y_pad+970)
im = ImageGrab.grab(box)
im.save(os.getcwd() + '\\full_snap__' + str(int(time.time())) + '.png','PNG')
def main():
pass
if __name__ == '__main__':
main()
該指南為: http : //code.tutsplus.com/tutorials/how-to-build-a-python-bot-that-can-play-web-games--active-11117
您有以下三種方式:
根據Ulrich在注釋中的建議,使用-i
選項啟動解釋器:
python -i my-script.py
這樣,您的腳本完成執行后,解釋器將保持打開狀態,並顯示提示。
使用pdb
。 這通常用於調試,並且具有與通常的Python提示符不同的界面。 如果您不熟悉它,那么它可能不是您的最佳選擇。 用以下兩行替換pass
:
import pdb pdb.set_trace()
使用code
。 這將為您提供一個與通常的Python Shell更相似的接口,並且如果您不熟悉它,可以替代pdb
:
import code code.interact()
順便說一句,您本身並沒有做錯任何事情。 pass
語句並不是要“停止Python並啟動提示”,而只是將其填充為函數或循環為空的主體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.