python如何終止死循環(huán)和開(kāi)啟死循環(huán)
python終止死循環(huán)和開(kāi)啟死循環(huán)
很遺憾,沒(méi)有這樣的方法……但是
世上無(wú)難事,只怕有心人。
理論
- 由于沒(méi)有單獨(dú)開(kāi)啟和停止死循環(huán)的方法,所以我們需要使用別的方法
- 使用進(jìn)程管理的方法來(lái)實(shí)現(xiàn)
- 使用全局變量了控制是否是死循環(huán)
說(shuō)一下程序的功能,在需要時(shí)不停的向下滾動(dòng)滾輪,不需要時(shí)停止
開(kāi)始代碼
選用的模塊
time # 不多說(shuō) threading # 用于開(kāi)啟新線程 pyautogui # 用于操作系統(tǒng)gui keyboard # 用于監(jiān)聽(tīng)按鍵事件
模塊安裝不作介紹
# 1.將死循環(huán)函數(shù)開(kāi)一個(gè)新的線程執(zhí)行,讓它不要影響主進(jìn)程的控制 # 2.主進(jìn)程控制一個(gè)全局變量,來(lái)控制子進(jìn)程的死循環(huán) import threading import keyboard import time import pyautogui # 模塊導(dǎo)入 # 停三秒,方便將鼠標(biāo)移動(dòng)到需要的窗口 time.sleep(3) # 將全局變量設(shè)置為true s=True # 定義滾動(dòng)鼠標(biāo)滾輪函數(shù) def myscoll(a,b): while s: time.sleep(0.2) pyautogui.scroll(-600) if s==False: break # 定義全局變量修改函數(shù),并可以開(kāi)啟第二次死循環(huán) def cahnge(keyevent): s1=keyevent.name # 這是keyboard的函數(shù),判斷按下按鍵的name # print(s1) # 全局變量 global s if s1=="1": # 當(dāng)按下“1”按鍵時(shí),全局變量改變?yōu)閒alse,死循環(huán)停止 s=False if s1=="2": # 當(dāng)按下“2”按鍵時(shí),全局變量改變?yōu)閠rue s=True # 開(kāi)啟子進(jìn)程 threading._start_new_thread(myscoll,(1,1,)) # 開(kāi)啟子進(jìn)程 threading._start_new_thread(myscoll,(1,1,)) keyboard.hook(cahnge) # keyboard.wait()用作阻塞,直到按下什么按鍵,如果不寫(xiě)則一直阻塞在這里,按一下執(zhí)行上一條語(yǔ)句一次,按下按鍵“3”,停止阻塞 keyboard.wait("3")
python跳出死循環(huán)
1、常用跳出方法
while 判斷條件:
循環(huán)語(yǔ)句
當(dāng)判定條件不滿(mǎn)足時(shí)退出循環(huán)
2、循環(huán)次數(shù)不定跳出循環(huán)方法
在while循環(huán)內(nèi)加一個(gè)if判定條件,用break語(yǔ)句跳出循環(huán)。
即:
while 1: num = input("請(qǐng)輸入編號(hào):") name = input("請(qǐng)輸入姓名:") line = [num, name] a=input("輸入q退出!任意鍵繼續(xù)?。?) if a.lower()=='q': //輸入一個(gè)大寫(xiě)或小寫(xiě)的q退出循環(huán) print("已退出輸入?。?) break
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python讀文件保存到字典,修改字典并寫(xiě)入新文件的實(shí)例
下面小編就為大家分享一篇python讀文件保存到字典,修改字典并寫(xiě)入新文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04一文帶你學(xué)會(huì)如何利用Python實(shí)現(xiàn)一個(gè)三維繪圖系統(tǒng)
tkinter是Python標(biāo)準(zhǔn)庫(kù)中自帶的GUI工具,使用十分方便,所以本文旨在帶大家學(xué)會(huì)如何將matplotlib嵌入到tkinter中并繪制三維繪圖系統(tǒng),感興趣的可以了解下2023-09-09Pycharm使用爬蟲(chóng)時(shí)遇到etree紅線問(wèn)題及解決
這篇文章主要介紹了Pycharm使用爬蟲(chóng)時(shí)遇到etree紅線問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05如何在scrapy中集成selenium爬取網(wǎng)頁(yè)的方法
這篇文章主要介紹了如何在scrapy中集成selenium爬取網(wǎng)頁(yè)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11