簡體   English   中英

如何通過main()函數中的pass命令使代碼在Shell中保持打開狀態?

[英]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-c​​an-play-web-games--active-11117

您有以下三種方式:

  1. 根據Ulrich在注釋中的建議,使用-i選項啟動解釋器:

     python -i my-script.py 

    這樣,您的腳本完成執行后,解釋器將保持打開狀態,並顯示提示。

  2. 使用pdb 這通常用於調試,並且具有與通常的Python提示符不同的界面。 如果您不熟悉它,那么它可能不是您的最佳選擇。 用以下兩行替換pass

     import pdb pdb.set_trace() 
  3. 使用code 這將為您提供一個與通常的Python Shell更相似的接口,並且如果您不熟悉它,可以替代pdb

     import code code.interact() 

順便說一句,您本身並沒有做錯任何事情。 pass語句並不是要“停止Python並啟動提示”,而只是將其填充為函數或循環為空的主體。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM