Python隱藏的玄機2

2021-08-20 10:24:57 字數 1680 閱讀 4723

gil下cpu 使用超過100%

·其實是逃出了gil的魔掌

·走進了c的懷抱

from ctypes import cdll

from threading import thread

import time

lib = cdll.loadlibrary(「./a.so」)

thread(target=lib.loop).start()

thread(target=lib.loop).start()

· 最好還是使用multiprocessing模組

多程序下的異常輸出

· 無論是多程序還是多執行緒 都應該使用logging模組

logger = logging.getlogger(filename)

filename = 『***』

logformat = logging.formatter(『%(asctime)s [%(levelname)s] %(message)s』,』%y-%m-%d %h:%m:%s』)

logger.setlevel(getattr(logging, level))

fh = logging.filehandler(filename)

fh.setformatter(logformat)

logger.addhandler(fh)

· 想要traceback

· 可以這樣

def traceback_wrap(self):

def tt():

import traceback as tb

class mimicryfile:

definit(self, log):

self.log= log

def write(self, strr):

self.log.error(strr.strip())

tb.print_exc(file=mimicryfile(self))

return tt

logger.traceback = traceback_wrap(logger)

logger.traceback() # usage

· 函式引數拆包

in [21]: def a(x, y):

…: print(x, y)

…:in [22]: i = [1,2]

in [23]: j =

in [24]: a(*i)

1 2in [25]: a(**j)

2 3· 不定長引數

in [33]: def a(*x, **y):

…: print(x, y)

…: …:

in [34]: a(1,2,3,x=2,y=3)

(1, 2, 3)

· 鏈式比較

in [1]: x = 2

in [2]: y = 2.5

in [3]: 1 < x < y < 3

out[3]: true

· for else

in [4]: for i in range(10):

…: if i == 10:

…: break

…: else:

…: print (『0~9』)

…:

python 爬蟲2 隱藏自己

方法一 head user agent req urllib.request.request url,data,head response urllib.request.urlopen req 只能在request物件上加head,而urlopen url,data,head 是錯誤的 方法二 re...

BCH生態的持續發展的背後隱藏了什麼玄機?

對於加密貨幣來說,生態建設是非常重要的一件事,就算是發展了十年之久的位元幣,依舊需要生態建設。畢竟加密貨幣在全球金融中依舊是乙個小圈子的東西,體量也是非常小的,它還需要更多的時間去成長。bch作為乙個年輕的加密貨幣,也一直在生態建設方面不斷努力。不過,相比之下,bch在生態建設方面的表現是足夠優秀的...

隱藏檔案失效 登錄檔中破玄機

很多病毒都會修改登錄檔,導致隱藏檔案不可見,即使在資料夾選項裡去掉了 隱藏受保護的作業系統檔案 和選擇了 顯示所有檔案和資料夾 仍不起作用。本文就來帶領大家破解其中的玄機。首先,要從了解登錄檔這個傢伙開始。為節約篇幅,登錄檔位址 hkey current user software microsof...