前言在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)這幾個概念是經常用到的,初學時對這幾個概念也是經常混淆,現在是時候把這幾個概念搞清楚了。0x00可迭代(Iterable)簡單的說,一個對象(在Python里面一切都是對象)只要實現了只要實現了__iter__()方法,那么用isinstance()函數檢查就是Iterable對象;例如classIterObj:def__iter__(self):#這里
系統 2019-09-27 17:56:54 1769
圖像可能在生成、傳輸或者采集過程中夾帶了噪聲,去噪聲是圖像處理中常用的手法。通常去噪聲用濾波的方法,比如中值濾波、均值濾波。但是那樣的算法不適合用在處理字符這樣目標狹長的圖像中,因為在濾波的過程中很有可能會去掉字符本身的像素。一個采用的是去除雜點的方法來進行去噪聲處理的。具體算法如下:掃描整個圖像,當發現一個黑色點的時候,就考察和該黑色點間接或者直接相連接的黑色點的個數有多少,如果大于一定的值,那就說明該點不是離散點,否則就是離散點,把它去掉。在考察相連的
系統 2019-09-27 17:56:42 1769
目錄第十五章、python中的進程操作-開啟多進程一、multprocess模塊二、multprocess.process模塊三、Process()對象方法介紹四、Process()對象屬性介紹五、使用process模塊創建進程六、進程之間的數據隔離問題七、守護進程八、terminate方法九、pid和name屬性第十五章、python中的進程操作-開啟多進程一、multprocess模塊multiprocess不是一個模塊而是python中一個操作、管理
系統 2019-09-27 17:56:35 1769
本文實例講述了python根據路徑導入模塊的方法,分享給大家供大家參考。具體方法如下:常規做法如下:importsyssys.path.append('C:/full/path')fromfooimportutil,bar而要直接通過路徑importimputil=imp.load_source('util','C:/full/path/foo/util.py')使用時使用util.method,此時并沒有定義methodmethod=util.metho
系統 2019-09-27 17:55:56 1769
一個簡易的TCP端口掃描器,使用python3實現。需求:掃描目標網站開放哪些端口號,將所有開放的端口號輸出。分析:使用socket連接,如果連接成功,認為端口開放,如果連接失敗,認為端口關閉(有可能端口開放但連接失敗,這里簡單認為端口不開放)使用到的庫:socket,threading過程:先定義一個函數,對給定的(ip,port)進行掃描,看其是否能連接成功。deftcpPortScan(ip,port,openPort):sock=socket.so
系統 2019-09-27 17:55:41 1769
最近新需求來了,要給系統增加幾個資源權限。盡量減少代碼的改動和程序的復雜程度。所以還是使用裝飾器比較科學之前用了一些登錄驗證的現成裝飾器模塊。然后仿寫一些用戶管理部分的權限裝飾器。比如下面這種defpermission_required(permission):defdecorator(f):@wraps(f)defdecorated_function(*args,**kwargs):ifnotcurrent_user.can(permission):ab
系統 2019-09-27 17:55:30 1769
列表(list)、元組(tuple)、集(set)、數組(array)的相互轉換1.轉換成list:list();2.轉換成tuple:tuple()3.轉換成set:set()#轉換成set后,重復數據將會被刪除,具體見https://blog.csdn.net/Darren1921/article/details/936315094.轉換成array:array()先來看一下這四種類型的輸出情況:實例1b=tuple("161561")c=list("
系統 2019-09-27 17:55:28 1769
C++類函數封裝給python調用,大致分為三個部分,第一部分是把我們的C++類函數等封裝成一個dll,即動態庫。第二部分是生成一個綁定代碼,就是用shiboken2根據我們需要封裝暴露的文件,生成pythonC++代碼。然后第三部分,就是根據第一和第二部分生成的庫和代碼,進一步封裝成py庫。然后python文件直接可以調用該庫。具體代碼如下,源碼用的是python的官方源碼。主要講解每個部分的使用。源碼:------------------icecrea
系統 2019-09-27 17:55:19 1769
在Python中,裝飾器的本質就是Python中的一個函數,其來源自Python面向對象。裝飾器是在函數調用之上的修飾。這些修飾僅是當聲明一個函數或方法的時候,才會被應用額外的調用。有點類似Java中的AOP(面向方面編程)。同時在設計模式中,還有裝飾器模式,也即是:裝飾器模式(DecoratorPattern)允許向一個現有的對象添加新的功能,同時又不改變其結構。原則是:不修改被修飾函數的源代碼,不修改被修飾函數的調用方式。裝飾器的用途:引入日志增加計時
系統 2019-09-27 17:55:09 1769
關于我編程界的一名小程序猿,目前在一個創業團隊任teamlead,技術棧涉及Android、Python、Java和Go,這個也是我們團隊的主要技術棧。聯系:hylinux1024@gmail.com當我們開發了一個開源項目時,就希望把這個項目打包然后發布到pypi.org上,別人就可以通過pipinstall的命令進行安裝。本文的教程來自于Python官方文檔,如有不正確的地方歡迎評論拍磚。0x00創建項目本文使用到的項目目錄為?packaging-tu
系統 2019-09-27 17:55:07 1769