python需要联网运行吗_如何暂停在终端中运行的python脚本
我有一個網絡爬行
python腳本在終端上運行了幾個小時,它不斷填充我的數據庫.它有幾個嵌套的for循環.出于某些原因,我需要重新啟動計算機并從我離開的地方繼續我的腳本.是否可以保留指針狀態并恢復以前在終端中運行的腳本?
我正在尋找一個可以在不改變python腳本的情況下工作的解決方案.修改代碼的優先級較低,因為這意味著重新啟動程序并重新投入時間.
更新:
感謝VM的建議.我會接受的.為了完成,應該對腳本進行哪些通用修改以使其暫停和恢復?
UPDATE2:
在VM上移植工作正常.我還修改了腳本,使其能夠對網絡故障進行故障保護.代碼如下.
最佳答案 您可以嘗試掛起計算機或在虛擬機中運行,然后可以暫停.但是,由于您的腳本正在使用網絡連接,因此一旦啟動系統,您的腳本將無法從您離開的位置開始工作.暫停計算機并將其恢復或保存虛擬M / C并恢復它意味著您需要重新建立網絡連接.對于系統外部的任何元素都是如此,網絡就是其中之一.并且很有可能如果您使用動態網絡,下次啟動時您將獲得一個新的IP,并且您之前工作的網絡狀態將無效.
如果您打算修改腳本,那么您需要記住的一些事情.
>添加序列化和反序列化功能. Python有pickle和更快的cPickle方法.
>添加重啟點.執行此操作的最佳方法是定期保存狀態,并在重新啟動腳本時,在建立所有瞬態元素(如網絡)后從上次保存的狀態重新啟動.
這不是一件容易的事,所以考慮投入大量的時間:-)
注意***
再想一想.更改腳本有一種替代方法.您可以嘗試使用Amazon EC2等云虛擬化解決方案.
總結
以上是生活随笔為你收集整理的python需要联网运行吗_如何暂停在终端中运行的python脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ map iterator 获取k
- 下一篇: 凹凸世界安莉洁喜欢什么礼物