python2.7出现IOError: [Errno 5] Input/output error
以下內容經過各路大神指點,所以屬于轉載內容:
你會發現,出現這種報錯的時候,一定是在print語句地方報這種錯。
直接注釋掉就行了,但是有很多print就很麻煩了。
還有就是部署web的時候,比如哈,模塊A調用了模塊B,A是我們運行的Flask,例如
我們使用python A.py &部署,隨后,我們又修改了B,但是沒有重新部署A,那么這個時候就很容易出現這種報錯。
所以每次修改了B以后,A最好重新運行部署下。
后來發現:重新部署flask后,過一段時間還是會出現IO error
python app_modify.py &
改為:
python app8_modify.py > message.log &
或者
python app8_modify.py > /dev/null 2>&1 &
然后,不要直接關閉終端,而是輸入exit來關閉終端
據說這么搞的原因是,我們離線部署完終端以后,print語句沒地方輸出,就error了,所以改為重定向。
終端中出現killed是正常的。
部署flask web框架時可能遇到的問題有:
終端如果出現“Killed”,這個可能是以前關掉的進程,盡管已經關掉了,但是可能會在終端按下回車鍵以后“回顯”
如果終端出現“Exit 1”這個是不正常的,必須解決
另外的4種辦法是:
1、用notepad打開所有工程,把所有print全部替換成#print
2、
from __future__ import print_function def myprint(msg):pass print=myprint print("hehehehehe")此時print結果不會輸出到終端
3、
import sys class MC:def write(*_):pass sys.stdout=MC() a=5 print "a=",a此時print結果也不會輸出到終端
4、
test.py
import sys sys_out = sys.stdout sys.stdout = open('./test.txt', 'w+')print '...'from test2 import a a()sys.stdout.close() sys.stdout = sys_outtest2.py def a():print "sifjo"
test.py和test2.py兩個文件放在同一路徑下
就可以達到屏蔽test2.py中的輸出函數的效果
所以總結下,總共是2種shell 對print的重定向方法+1種notepad暴力替換法+3種python中的處理方法
參考鏈接:
http://blog.sina.com.cn/s/blog_4aae007d010192qc.html http://blog.csdn.net/vbaspdelphi/article/details/52347251
總結
以上是生活随笔為你收集整理的python2.7出现IOError: [Errno 5] Input/output error的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab矩阵及其基本运算—特征值分解
- 下一篇: python2.7下面字节数组(Byte