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

