欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 通過監(jiān)聽端口實現(xiàn)唯一腳本運行方式

 更新時間:2020年05月05日 21:44:53   作者:To be a cool guy  
這篇文章主要介紹了Python 通過監(jiān)聽端口實現(xiàn)唯一腳本運行方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧

try:
 s = socket.socket()
 s.bind(('127.0.0.1', port))
except:
 log.info(' * already has an instance, so exit.')
 exit(0)

補充知識:Python:一個簡單的tornado程序:監(jiān)聽服務器端口,訪問時給瀏覽器返回一個字符串

一個簡單的tornado程序

tornado是python里的一個模塊,它是一種web服務器軟件的開源版本

它作為web服務器,具有較出色的抗負載能力,它適用于用戶量大,高并發(fā),或者大量的HTTP持久連接的情況。

我們來看一段簡單的程序代碼

import tornado.web
import tornado.ioloop

class IndexHander(tornado.web.RequestHander):
  def get(self):
   self.write("hello world! My name is alien!")

if __name__ = "__main__":
 app = tornado.web.Application([
  (r"/", IndexHander)
 ])
 app.listen(8000)
 tornado.ioloop.IOLoop.current().start()

當我們運行這段程序時,在瀏覽器上輸入ip+我們監(jiān)聽的端口就可以顯示這樣的效果:

那么我們現(xiàn)在逐句分析這段小代碼:

1、

import tornado.web
import tornado.ioloop

首先要進行導入操作

這里的tornado.web是tornado的基礎web框架模塊

tornado.ioloop是tornado的核心I/O循環(huán)模塊(也就是說,服務一起,就不會自己關閉了)ioloop封裝了linux的epoll和BSD的kquene,這個循環(huán)模塊是tornado高效的基礎

2、

class IndexHander(tornado.web.RequestHander):
  def get(self):
   self.write("hello world! My name is alien!")

這里是創(chuàng)建了一個類,繼承了tornado.web.RequestHander類,其實就是一個業(yè)務處理類,用于接收請求的

里面的get函數(shù)就是處理get請求的

write函數(shù)這里返回了一個字符串,也就響應信息為這段字符串

3、

if __name__ = "__main__":

這段python代碼就是當入口函數(shù)為當前文件時,執(zhí)行以下代碼

4、

app = tornado.web.Application([
  (r"/", IndexHander)
 ])

這段代碼是利用tornado.web下的Application類實例化出一個對象,這個對象名叫app,(r"/", IndexHander)這個是路由映射

Application類是tornado.web框架的核心應用類,是與服務器對應的接口,它里面保存了路由映射表

5、

app.listen(8000)

這里的listen是綁定了監(jiān)聽端口8000

用Application類創(chuàng)建出來的對象app中,有一個listen方法,因此可以直接調(diào)用listen

所以listen就是創(chuàng)建一個http服務器后綁定監(jiān)聽端口

注意注意:

這里的listen只是綁定了端口,并沒有開啟監(jiān)聽

6、

tornado.ioloop.IOLoop.current().start()

這里是啟動該實例的I/O循環(huán)

IOLoop.current()返回了當前線程的ioloop實例,也就是返回了一個對象–當前線程讀寫操作的對象

IOLoop.start()啟動了ioloop實例的I/O循環(huán),等待客戶端的鏈接

注意注意:

IOLoop.start()才開啟了監(jiān)聽,剛剛上面的listen是沒有開啟監(jiān)聽的

以上這篇Python 通過監(jiān)聽端口實現(xiàn)唯一腳本運行方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python中數(shù)字(Number)數(shù)據(jù)類型常用操作

    Python中數(shù)字(Number)數(shù)據(jù)類型常用操作

    本文主要介紹了Python中數(shù)字(Number)數(shù)據(jù)類型常用操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python?NumPy科學計算庫的高級應用

    Python?NumPy科學計算庫的高級應用

    這篇文章主要為大家介紹了Python?NumPy科學計算庫的高級應用深入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 一篇文章教你學會使用Python繪制甘特圖

    一篇文章教你學會使用Python繪制甘特圖

    甘特圖又稱為橫道圖、條狀圖,它是以作業(yè)排序為目的,將活動與時間聯(lián)系起來的最早嘗試的工具之一,能夠很直觀地顯示項目、進度等和時間的內(nèi)在關系隨著時間的進展情況,在管理和生產(chǎn)活動中被廣泛使用
    2021-09-09
  • Python編寫單元測試代碼實例

    Python編寫單元測試代碼實例

    這篇文章主要介紹了Python編寫單元測試代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Python中字典的基礎介紹及常用操作總結(jié)

    Python中字典的基礎介紹及常用操作總結(jié)

    字典也是python的數(shù)據(jù)類型中的一種,它由許多鍵值對組成,它是一種可變?nèi)萜髂P?一般情況下鍵是唯一的,字典支持嵌套,下面這篇文章主要給大家介紹了關于Python中字典的基礎介紹及常用操作,需要的朋友可以參考下
    2021-09-09
  • python 應用之Pycharm 新建模板默認添加編碼格式-作者-時間等信息【推薦】

    python 應用之Pycharm 新建模板默認添加編碼格式-作者-時間等信息【推薦】

    這篇文章主要介紹了Pycharm 新建模板默認添加編碼格式-作者-時間等信息 ,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Python基于爬蟲實現(xiàn)全網(wǎng)搜索并下載音樂

    Python基于爬蟲實現(xiàn)全網(wǎng)搜索并下載音樂

    這篇文章主要介紹了Python基于爬蟲實現(xiàn)全網(wǎng)搜索并下載音樂的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • python標準庫之time模塊的語法與簡單使用

    python標準庫之time模塊的語法與簡單使用

    在平常的代碼中,我們常常需要與時間打交道,那么在Python中,與時間處理有關的模塊就包括:time、datetime以及calendar,這篇文章主要給大家介紹了關于python標準庫之time模塊的語法與使用的相關資料,需要的朋友可以參考下
    2021-08-08
  • pytorch實踐線性模型3d詳解

    pytorch實踐線性模型3d詳解

    這篇文章主要介紹了pytorch實踐線性模型3d詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Python使用Turtle模塊繪制國旗的方法示例

    Python使用Turtle模塊繪制國旗的方法示例

    這篇文章主要給大家介紹了關于Python使用Turtle模塊繪制國旗的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02

最新評論