您好,登錄后才能下訂單哦!
這篇文章主要介紹了python報錯lost sys.stdou怎么解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python報錯lost sys.stdou怎么解決文章都會有所收獲,下面我們一起來看看吧。
報錯的意思是,丟失sys.stdout
。然后小編運行了該文件夾下的所有代碼,都出現了這樣的報錯。
求助大佬后才知道,我的io
模塊被替換掉了,然后小編望向自己的項目文件夾,發現了罪魁禍首:
沒錯,就是那個名為io
的模塊,小編曾經圖一時爽快,把某個python文件命名為io了,然后他替換了內置的io
模塊,然后所有涉及到io
模塊的操作都不能使用了。
既然是名字的問題,那么改掉就可以了,在將那個文件改了個名后,我的項目又恢復了正常運行。
既然改名叫io,io
模塊就不能運行,那么改名叫requests,是不是就不能運行ruquests
模塊了?在一番嘗試后發現確實如此。原理很簡單:python在搜尋包的時候會先搜尋項目內有沒有該模塊,如果有就用項目內的模塊,如果沒有就到稱為sys.path的list中尋找,所有的python自帶的模塊和pip安裝第三方模塊都在這里。
根據上述結論,我們可以得到一個很簡單的避免方法——既然命名和模塊相同會產生這樣的錯誤,那么我們在命名的時候只要規避這些模塊名就不會出現這樣的錯誤。這就引出了python文件命名的規范——不要用模塊名命名py文件!!!
關于“python報錯lost sys.stdou怎么解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python報錯lost sys.stdou怎么解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。