Time of Update: 2018-07-30
說起多線程,必然想到了進程、鎖等東西,python跟線程有關的模組有thread模組、threading模組、Queue模組、mutex模組、SocketServer模組。thread模組提供了基本的線程和鎖的支援,但不建議使用,因為當主線程退出的時候,所有其它線程沒有被清除就退出了,而threading模組提供了功能更強的線程管理能力,能確保所有重要的子線程都退出後,進程才結束。Queue模組允許使用者建立一個可以用於多個線程之間共用資料的隊列資料結構。mutex是個互斥對象,SocketSe
Time of Update: 2018-07-30
XML是實現不同語言或程式之間進行資料交換的協議,XML檔案格式如下: <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year age="25">2033</year>
Time of Update: 2018-07-30
configparser用於處理特定格式的檔案,其本質上是利用open來操作檔案。 操作的檔案內容如下 abc.txt [section1]k2 = v2k1 = v1[section2]k1 = v1[sec_1] 程式如下 # -*- coding: utf-8 -*-import configparserconfig = configparser.ConfigParser() #建立對象config.read('abc.txt',encoding='utf-8
Time of Update: 2018-07-30
1,python中的map,reduce,filter使用 >>> a=[1,2,3,5]>>> map(lambda x:x+x,a)[2, 4, 6, 10]>>> map(lambda x:2*x,a)[2, 4, 6, 10]>>> reduce(lambda x,y:x*y,a)30>>> filter(lambda x : x%2,a)[1, 3
Time of Update: 2018-07-30
(原文是 Python's Magical Self ,來自 http://concentricsky.com ) Python的self參數有時真讓人抓狂,比如,你必須在每一個類的方法裡顯示定義self,然後,它會霸佔不需要它們的地方。 [python] view plain
Time of Update: 2018-07-30
* 原創作者:ArkTeam/XHJ,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載 一 相關背景 網路爬蟲(Web Spider)又稱網路蜘蛛、網路機器人,是一段用來自動化採集網站資料的程式。如果把互連網比喻成一個蜘蛛網,那麼Spider就是在網上爬來爬去的蜘蛛。網路爬蟲不僅能夠為搜尋引擎採集網路資訊,而且還可以作為定向資訊採集器,定向採集某些網站下的特定資訊,如:汽車票價,招聘資訊,租房資訊,微博評論等。 二 應用情境 圖1 應用情境
Time of Update: 2018-07-30
交換a,b兩值的方法: a = a^b; b = a^b;
Time of Update: 2018-07-30
2-1 如何在列表, 字典, 集合中根據條件式篩選資料 預備知識: 本節中我們會用到randint,lambda,timeit,filter等關鍵字 通常做法是迭代遍曆當前的列表,然後再將列表中滿足條件的元素存在另外一個列表中 from random import randint randint(a,b) Return random integer in range [a, b], including both end points. timeit函數的用法
Time of Update: 2018-07-30
例子是多個修飾符參數的例子 def decorator_factory(enter_message, exit_message): # We're going to return this decorator def simple_decorator(f): def wrapper(*args, **kwds): print enter_message f(*args, **kwds)
Time of Update: 2018-07-30
.4.2.3 Invoking Descriptors In general, a descriptor is an object attribute with ``binding behavior'', one whose attribute access has been overridden by methods in the descriptor protocol: __get__(), __set__(), and __delete__(). If
Time of Update: 2018-07-30
使用python進行whois查詢 使用pip命令安裝whois pip install python-whois Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2Type "help", "copyright", "credits" or "license" for more
Time of Update: 2018-07-30
最近剛把Mac裡安裝的python 2.7.11換成python 3.5.2,然後發現pip 安裝各種模組非常蛋疼的問題,pip雖然安裝各種類庫非常方便,直接在命令列輸入 pip install lxml等就可以,但是呢下載速度超慢,而且經常下載逾時、失敗,有一種蛋碎的感覺,比如下圖你看到之後會怎麼樣呢。 所以我們要找到更好的解決方案 第一步: &
Time of Update: 2018-07-30
socket通常也稱作"通訊端",用於描述IP地址和連接埠,是一個通訊鏈的控制代碼,應用程式通常通過"通訊端"向網路發出請求或者應答網路請求。 socket起源於Unix,而Unix/Linux基本哲學之一就是“一切皆檔案”,對於檔案用【開啟】【讀寫】【關閉】模式來操作。socket就是該模式的一個實現,socket即是一種特殊的檔案,一些socket函數就是對其進行的操作(讀/寫IO、開啟、關閉) socket和file的區別:
Time of Update: 2018-07-30
這兩天收到測試AT命令發送資訊,當發送PDU格式的資訊需要手動輸入的字元太多了,比較麻煩,就想用py寫一個小指令碼,我這裡裝的是Python32。好像還需要安裝pyserial這個包。pdu資訊轉換可以參考http://www.multisilicon.com/_a/blog/a22201774~/pdu.htm 直接上代碼: import serial import time ser = serial.Serial("com16",115200) type(ser)
Time of Update: 2018-07-30
# -*- coding: utf-8 -*-'''__doc__ 表示類的描述資訊__module__ 表示當前操作的對象在那個模組__class__ 表示當前操作的對象的類是什麼__del__ 析構方法__call__ 對象後面加括弧,觸發執行。__dict__ 類或對象中的所有成員__str__ 輸出該方法的傳回值。__new__() 方法是在類準備將自身執行個體化時調用類的普通欄位屬於對象;類中的靜態欄位和方法等屬於類,'''class Foo():
Time of Update: 2018-07-30
1、yield的使用,參考:https://stackoverflow.com/questions/231767/the-python-yield-keyword-explained/231855#231855 來自於stackoverflow的,解答者經驗非常的豐富,把yield的功能由簡單到複雜都介紹了一遍。總結幾個要點。
Time of Update: 2018-07-30
今天看了python 核心編程的第二章,講了關於python socket 模組的通訊, 記錄要點如下: 通訊端: 1、AF_UNIX AF_INET 通訊端地址:主機-連接埠對 連線導向的通訊端:在通訊之前必須建立一個串連,比如使用電話給朋友打電話,實現這種連線類型的主要協議是傳輸控制通訊協定(TCP)建立TCP通訊端,必須使用SOCK_STREAM作為通訊端的類型
Time of Update: 2018-07-30
通過whois查詢將得到網域名稱的whois資訊並儲存在資料庫中 具體方法不過多闡述 將出現請求出錯的網域名稱或者匹配出問題的網域名稱寫入資料庫 '''--------------------------ver : 2.0date : 2017/11/22auth : wud--------------------------'''import DNSimport MySQLdbimport whoisimport
Time of Update: 2018-07-30
在使用python在做資料處理分析時經常會用到list這個內建對象,通常對於list上會有一些計算,比如過濾,元素尋找等等,對於資料量不大的時候for迴圈遍曆對效能並不構成很大影響,但是當資料量很大的時候瓶頸就出現了。但是很幸運的是python提供了幾個內建全域函數可以高效的處理list操作,他們就是map,reduce,filter,當然他們能處理的並不僅僅是list,只要是一個序列就可以。 通常與這些函數匹配使用的還有lambda運算式 1. map
Time of Update: 2018-07-30
使用python將whois資訊分區,存入資料庫 whois伺服器返回的whois字典資訊會很長,有的網域名稱的whois資訊有2000+個位元組,將返回的whois資訊進行分區處理,程式選擇將其分為9片,存入資料庫中 也可以進行關鍵字匹配進行儲存,但是得到的資訊會不夠全面, 兩種方法各有優劣。 以下是分區處理的python原始碼 '''--------------------------ver : 2.0date :