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

python程序中斷然后接著中斷代碼繼續(xù)運(yùn)行問題

 更新時(shí)間:2024年02月18日 15:39:43   作者:laoli815  
這篇文章主要介紹了python程序中斷然后接著中斷代碼繼續(xù)運(yùn)行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

python通過django,flask框架開發(fā)運(yùn)維管理的時(shí)候,碰到的一個(gè)功能可能涉及很多個(gè)模塊,里面涉及了多個(gè)表數(shù)據(jù),如果前面的運(yùn)行都很不錯(cuò),但是中間一旦報(bào)錯(cuò)了,這就很煩,程序退出了,需要重新再來一遍,數(shù)據(jù)也需要重新清洗。

如果有一個(gè)很好的選擇可以讓程序在在有問題的模塊部位中止,主進(jìn)程一直不退出繼續(xù)保持運(yùn)行狀態(tài),處理好有問題的模塊之后運(yùn)行下面沒問題的模塊即可

import  time
import psutil
import datetime,os
pause=psutil.Process(os.getpid())
from jielong import GoodMessage
msg=None
try:
	print("程序啟動(dòng)時(shí)間:",datetime.datetime.now())
    g=GoodMessage('狗',10)
    with open('drink.txt','w+',encoding='gbk') as f:
        msg=g.drink(20)
        f.write(msg)
except Exception as e:
    print("程序出異常了所以需要暫停當(dāng)前進(jìn)程ID是:{}".format(os.getpid()))
    pause.suspend()
with open('drink.txt','r+') as f:
    msg=f.read()
for i in range(5):
    print(f"執(zhí)行時(shí)間是{datetime.datetime.now()}")
    print(msg)
    time.sleep(2)

運(yùn)行結(jié)果

程序啟動(dòng)時(shí)間: 2022-05-26 11:08:03.661051
執(zhí)行時(shí)間是2022-05-26 11:08:03.663050
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:08:05.667317
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:08:07.671946
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:08:09.677413
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:08:11.686922
動(dòng)物都要喝水,狗每次喝10L水

jielong.py

class GoodMessage(object):
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def drink(self,vol):
        return "動(dòng)物都要喝水,{}每次喝{}L水".format(self.name,10)

下面模擬jielong模塊出錯(cuò)的問題

import  time
import psutil
import datetime,os
pause=psutil.Process(os.getpid())
from jielong import GoodMessage
msg=None
try:
	print("程序啟動(dòng)時(shí)間:",datetime.datetime.now())
    g=GoodMessage('狗',10)
    with open('drink.txt','w+',encoding='gbk') as f:
        msg=g.drink()
        f.write(msg)
except Exception as e:
    print("程序出異常了所以需要暫停當(dāng)前進(jìn)程ID是:{}".format(os.getpid()))
    pause.suspend()
with open('drink.txt','r+') as f:
    msg=f.read()
for i in range(5):
    print(f"執(zhí)行時(shí)間是{datetime.datetime.now()}")
    print(msg)
    time.sleep(2)

可以看出程序已經(jīng)hang住了

此時(shí)的drink.txt文件也已經(jīng)為空了,這里可以把drink.txt當(dāng)作保存處理結(jié)果的一個(gè)文檔,因?yàn)楫惓A宋覀兪謩?dòng)處理下這個(gè)文檔,給這個(gè)里面加上如果程序沒有異常正常返回的結(jié)果,生產(chǎn)環(huán)境可能是數(shù)據(jù)庫保存這些數(shù)據(jù),然后在讀取

上面的進(jìn)程ID是9016

我們可以在cmd窗口直接連接到這個(gè)進(jìn)程,然后讓程序啟動(dòng)起來

執(zhí)行結(jié)果

程序啟動(dòng)時(shí)間: 2022-05-26 11:15:53.337709
程序出異常了所以需要暫停當(dāng)前進(jìn)程ID是:2868
執(zhí)行時(shí)間是2022-05-26 11:17:39.144744
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:17:41.154257
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:17:43.167452
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:17:45.173947
動(dòng)物都要喝水,狗每次喝10L水
執(zhí)行時(shí)間是2022-05-26 11:17:47.183822
動(dòng)物都要喝水,狗每次喝10L水

Process finished with exit code 0

可以看出來中斷的程序的確可以繼續(xù)運(yùn)行下去

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python機(jī)器學(xué)習(xí)實(shí)現(xiàn)決策樹

    python機(jī)器學(xué)習(xí)實(shí)現(xiàn)決策樹

    這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)實(shí)現(xiàn)決策樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • python能自學(xué)嗎

    python能自學(xué)嗎

    在本篇文章里小編給大家整理了關(guān)于python如何自學(xué)的相關(guān)理論性文章,有需要的朋友們可以參考下。
    2020-06-06
  • 淺談Keras中shuffle和validation_split的順序

    淺談Keras中shuffle和validation_split的順序

    這篇文章主要介紹了淺談Keras中shuffle和validation_split的順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • pycharm快捷鍵匯總

    pycharm快捷鍵匯總

    本文給大家分享的是PyCharm開發(fā)工具的快捷鍵大全整理,非常詳細(xì),適合使用PyCharm作為開發(fā)工具的開發(fā)人員參考使用,能夠幫助提高開發(fā)效率和速度
    2020-02-02
  • python代碼制作configure文件示例

    python代碼制作configure文件示例

    這篇文章主要介紹了python代碼如何制作configure文件,需要的朋友可以參考下
    2014-07-07
  • Python Serial串口基本操作(收發(fā)數(shù)據(jù))

    Python Serial串口基本操作(收發(fā)數(shù)據(jù))

    這篇文章主要介紹了Python Serial串口基本操作(收發(fā)數(shù)據(jù)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 詳解用selenium來下載小姐姐圖片并保存

    詳解用selenium來下載小姐姐圖片并保存

    這篇文章主要介紹了詳解用selenium來下載小姐姐圖片并保存,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Anaconda 離線安裝 python 包的操作方法

    Anaconda 離線安裝 python 包的操作方法

    今天小編就為大家分享一篇Anaconda 離線安裝 python 包的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 使用Python編寫簡單的端口掃描器的實(shí)例分享

    使用Python編寫簡單的端口掃描器的實(shí)例分享

    這篇文章主要介紹了使用Python編寫簡單的端口掃描器的實(shí)例分享,文中分別介紹了單線程和多線程的實(shí)現(xiàn)方式,需要的朋友可以參考下
    2015-12-12
  • 一文詳解Python加解壓文件gzip庫的操作

    一文詳解Python加解壓文件gzip庫的操作

    Gzip是若干種文件壓縮程序的簡稱,通常指GNU計(jì)劃的實(shí)現(xiàn)。本文為大家介紹了Python中加解壓文件gzip庫的基本操作,感興趣的小伙伴可以了解一下
    2022-11-11

最新評(píng)論