持續更新中...html
__enter__
Python3.7環境相關:http://www.javashuo.com/article/p-tvzhtwbx-bq.htmlpython
===>檢查一下縮進,能夠借用yapf或者pycodestyle來幫忙
能夠參考這篇文章的末尾:http://www.javashuo.com/article/p-tvzhtwbx-bq.htmlmysql
==> def str(self) 裏面沒有return返回值
web
==>'list'對象不可調用,通常都是用戶自定變量和list重名了
sql
緣由:
django
==>裝飾實例方法
的時候容易出現莫名其妙的錯誤,因此通常加上get方法,來個案例:async
import types from functools import wraps class Log(object): def __init__(self, func): wraps(func)(self) # @wraps(func) 訪問不到,因此用這種方式 self.__func = func def __call__(self, *args, **kvs): print("%s log_info..." % self.__func.__name__) return self.__func(*args, **kvs) # 裝飾實例方法的時候容易出現莫名其妙的錯誤,因此通常加上get方法 # eg:show() missing 1 required positional argument: 'self' def __get__(self, instance, cls): if instance is None: return self else: return types.MethodType(self, instance) class LoginComponent(object): def __init__(self, name): self.__name = name @Log def show(self): """實例方法""" print("歡迎你:%s" % self.__name) @classmethod @Log # 寫在下面("從下往上裝,從上往下拆") def login_in(cls): """類方法""" print("登陸ing") @staticmethod @Log def show_news(): """靜態方法""" print("今天的新聞是...") def main(): LoginComponent.login_in() LoginComponent.show_news() login = LoginComponent("小明") login.show() if __name__ == '__main__': main()
緣由:命令不規範,或者你導入的模塊當作類來使用了ide
好比今天寫demo的時候,隨手建立了個文件名:mmap.py
函數
import mmap fd = os.open("mmap_file", os.O_RDWR) # 讀+寫 m = mmap.mmap(fd, 0) # 建立映射
導入的模塊也是mmap,那問題就來了~因此,就算隨手測試也是要命名規範的-_-#測試
__enter__
通常都是上下文管理器with xxx as x:
的問題,看看是否不能託管的進行了託管,或者自定義上下文管理器__enter__
方法有問題
通常都是編碼問題,Linux一切正常,win下面出現了糟心事
解決:
指定編碼:頭文件包含# _*_ coding:utf-8 _*_
and 指定編碼格式 encoding="utf-8"
還出現錯誤就忽略吧:errors='ignore'
eg:with open("bai.csv","r",errors='ignore') as f:
隊列對象只能經過繼承進程之間共享,由於用到了Pool,multiprocessing.Queue()
會有點問題,換爲multiprocessing.Manager().Queue()
便可
http://www.javashuo.com/article/p-hufkkonm-d.html
具體能夠查看此文章:http://www.javashuo.com/article/p-phkqmcgd-v.html
http://www.javashuo.com/article/p-qdnbxexf-bx.html
Win下Py包安裝出錯就去這個網站下對應包:https://www.lfd.uci.edu/~gohlke/pythonlibs/
而後 pip install xxx
去PyPI搜索包,而後左側菜單欄有下載連接
以後pip install xxx 便可
解決:http://www.javashuo.com/article/p-auijtlyq-ck.html
http://www.javashuo.com/article/p-acwbbimg-cv.html
有些異常官方沒有寫進去,我補了一些經常使用的異常:https://docs.python.org/3/library/exceptions.html
BaseException
SystemExit
:sys.exit()
引起的異常(目的:讓Python解釋器退出)KeyboardInterrupt
:用戶Ctrl+C終止程序引起的異常GeneratorExit
:生成器或者協程關閉的時候產生的異常(特別注意)Exception
:全部內置異常(非系統退出)或者用戶定義異常的基類
asyncio.Error
asyncio.CancelledError
asyncio.TimeoutError
:和Exception.OSError.TimeoutError
區分開asyncio.InvalidStateError
:Task/Future
內部狀態無效引起asyncio.LimitOverrunError
:超出緩衝區引起的異常StopIteration
:next()、send()
引起的異常:
https://www.cnblogs.com/dotnetcrazy/p/9278573.html#6.Python迭代器
StopAsyncIteration
:__anext__()
引起的異常AssertionError
:當斷言assert
語句失敗時引起AttributeError
:當屬性引用或賦值失敗時引起EOFError
asyncio.IncompleteReadError
:讀取操做未完成引起的錯誤OSError
:當系統函數返回與系統相關的錯誤時引起
TimeoutError
:系統函數執行超時時觸發ReferenceError
:引用錯誤(對象被資源回收或者刪除了)RuntimeError
:出錯了,可是檢測不到錯誤類別時觸發
NotImplementedError
:爲實現報錯(好比調用了某個不存在的子類方法)RecursionError
:遞歸程度太深引起的異常asyncio.SendfileNotAvailableError
:系統調用不適用於給定的套接字或文件類型SyntaxError
:語法錯誤時引起(粘貼代碼常常遇到)
IndentationError
:縮進有問題TabError
:當縮進包含不一致的製表符和空格使用時引起