利用time.sleep(2)實現Python程序的延時操作

一、背景介紹

在編寫Python程序時,有時需要讓程序延時一段時間後再繼續執行下去。例如,需要在發送郵件後等待一段時間再執行下一步操作,或者需要在爬蟲程序中等待一段時間後再發送請求,避免因頻繁請求而被封IP。這時候,就需要使用time模塊中的sleep()方法。

二、time.sleep()方法詳解

1. 方法說明

time.sleep()方法可以使程序進入阻塞狀態,暫停執行一段時間,然後再繼續執行下面的代碼。其語法如下:

import time
time.sleep(seconds)

其中,seconds是延時的秒數,可以是浮點數,表示等待的時間。

2. 實例演示

下面通過一個實例演示time.sleep()方法的用法,讓程序每隔1秒輸出一次數字:

import time

num = 0
while num < 10:
    num += 1
    print(num)
    time.sleep(1)

上述代碼中,程序先初始化num為0,然後通過while循環每次加1,最終在輸出數字後使用time.sleep()方法使程序延時1秒。運行結果為:

1
2
3
4
5
6
7
8
9
10

三、應用場景舉例

1. 爬蟲程序中的延時操作

在爬蟲程序中,頻繁請求目標網站可能會被封IP。為了避免這種情況,可以在每次請求之間加入延時操作。

import requests
import time

url = 'https://www.baidu.com'
header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=header)
time.sleep(2)

上述代碼中,使用requests庫向百度網站發送請求,在請求後使用time.sleep()方法使程序延時2秒。這樣就避免了過於頻繁的請求而被封IP。

2. 發送郵件中的延時操作

在發送郵件時,可能需要等待一段時間後再執行下一步操作,例如發送多封郵件時需要在發送完一封郵件後等待一段時間再發送下一封。

import smtplib
import time

from email.mime.text import MIMEText
from email.header import Header

# 郵箱服務器設置
mail_host = 'smtp.163.com'
mail_user = 'sender@163.com'
mail_pass = 'password'

# 發送郵件
sender = 'sender@163.com'
receivers = ['receiver@163.com']

message = MIMEText('Python發送郵件測試', 'plain', 'utf-8')
message['From'] = Header('發送者', 'utf-8')
message['To'] = Header('接收者', 'utf-8')
message['Subject'] = Header('Python SMTP測試', 'utf-8')

try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host, 25)
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print('郵件發送成功')
    time.sleep(60)  # 等待60秒
except smtplib.SMTPException:
    print('郵件發送失敗')

上述代碼中,通過smtplib庫發送郵件,並在發送後使用time.sleep()方法延時60秒。這樣就可以等待郵件發送完畢再進行下一步操作。

四、總結

通過上述實例,我們可以使用time.sleep()方法實現Python程序的延時操作,避免過於頻繁的請求或操作。在實際編寫程序時,需要根據具體情況決定使用的延時時間,合理設置延時時間可以提高程序的可靠性和穩定性。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/277716.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-19 13:20
下一篇 2024-12-19 13:20

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟件。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨着深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29

發表回復

登錄後才能評論