原创 python 初次認識with 和 contextlib.closing

簡單介紹下我認識contextlib的過程吧,覺得這個內置lib還挺有意思的。 1、 之前的我,只知道with會用來關閉文件,數據庫資源,這很好。 只要實現了__enter__() 和 __exit__()這兩個方法的類都可以輕鬆創建上

原创 python 初始認識重載操作符的利器:functools.total_ordering

啊,最近被問到重載操作符,想要比較兩個對象大小,之前理解不深刻呢,對__cmp__()和__gt__()和__lt__(),有了點疑問:有了前者,還要後面兩個幹嘛? 1、 先做個實驗__cmp__() 和 __gt__() 衝不衝突 cl

原创 python 初探狀態機transitions庫

偶然接觸一個python的關於狀態機的庫,簡單demo如下:# coding=utf-8 ############################################################## # 目標:"so

原创 python 某公司機試題小記

題目1:括號匹配,思路就是左括號進棧,右括號就出棧且匹配。 # coding=utf-8 str = raw_input("Enter the str:") a = list(str) left_lst = [] for i

原创 python 生成器的唯一缺點 & enumerate被遺忘的start & 突然好奇in

1、 啊,在逛知乎的時候,遇到帖子(python生成器到底有什麼優點?):https://www.zhihu.com/question/24807364 之前倒是知道優點,1、惰性加載,消耗內存少,2、用yield寫代碼後精簡。 但是缺點

原创 python 初步認識弱引用 & 垃圾回收

1、 在看python多進程共享內存空間,也就是multiprocessing.sharedctypes的Value源碼的時候,首次接觸弱引用:weakref。。。 文檔1:https://www.rddoc.com/doc/Pytho

原创 python 多併發競爭微信token刷新問題的解決方案

看日誌: 正常時候的日誌: 2017-09-24 07:35:30,723 views.py[line:34] [INFO] GetToken from Redis. 2017-09-24 07:35:31,342 views.py[l

原创 docker 運行多條命令失敗的解決方案

版本: Docker Server Version: 1.12.5 背景: 項目用到了celery,需要在我們項目跑起來之前,保證celery服務是開啓的。 開啓celery:  celery -A celery_task worke

原创 python 理解functools.wraps

先複習下裝飾器 # coding=utf-8 def logged(func): def with_logging(*args, **kwargs): """ 哈哈哈,這裏是with_loggin

原创 python 關於git下unix和windows換行符不同導致稍微改動一行代碼git diff就是全部文件對比的解決方案

背景: 家裏的電腦是用來打遊戲的,配置也還可以,windows的,偶爾也會用來寫寫代碼。 公司是mac。pycharm的默認配置:Pycharm》Settings》Editor》Code Style》Line separator是Clas

原创 docker 修改存儲路徑(不是通過軟鏈接)

0、 docker默認存儲路徑是/var/lib/docker 下,裏面有鏡像和容器,超級大。現在想要修改路徑到/data/盤下。 然而很多教程是通過軟鏈接ln -s 源文件 目標文件。 感覺不妥。 1、 版本:docker-ce=17

原创 python PyMysql 一個connection裏面能不能有多個cursor

是這樣的,我的項目是 handlers層 → dao層 因爲在handler層開了個conn,把conn傳到dao層,讓dao層去真正處理數據,類似:     @classmethod     @tornado.gen.coroutin

原创 python 初始化logging配置之前就logging.error會重複日誌的解決方案

如題,如果在初始化日誌配置之前就logging了下,初始化之後,任何日誌都是雙份的呢。 # coding=utf-8 import logging # 這是第一次日誌,沒設置日誌的各個參數 logging.error("1") d