Time of Update: 2016-10-18
發現一個老外使用python寫的管理cisco裝置的小架構tratto,可以用來批量執行命令。下載後主要有3個檔案:Systems.py 定義了一些不同裝置的作業系統及其常見命令。Connectivity.py 是主要實現功能的代碼,其實主要就是使用了python的pexpect模組。Driver.py是一個樣本檔案。[root@safe tratto-master]# cat driver.py#!/usr/bin/env pythonimport Connectivityimport
Time of Update: 2016-10-18
前一段時間一直在研究如何用python抓取搜尋引擎結果,在實現的過程中遇到了很多的問題,我把我遇到的問題都記錄下來,希望以後遇到同樣問題的童鞋不要再走彎路。1. 搜尋引擎的選取 選擇一個好的搜尋引擎意味著你能夠得到更準確的搜尋結果。我用過的搜尋引擎有四種:Google、Bing、Baidu、Yahoo!。
Time of Update: 2016-10-18
#!/usr/bin/python # -*- coding: utf-8 -*- import osimport reimport tarfileimport datetimeimport pexpectbasedir='/data/bak/' #檔案夾 iplist=['']# IP地址 def get_list(txt_file): ret_list = [] fin = open(txt_file,'r') for
Time of Update: 2016-10-18
π是一個無數人追隨的真正的神奇數字。我不是很清楚一個永遠重複的無理數的迷人之處。在我看來,我樂於計算π,也就是計算π的值。因為π是一個無理數,它是無限的。這就意味著任何對π的計算都僅僅是個近似值。如果你計算100位,我可以計算101位並且更精確。迄今為止,有些人已經選拔出超級電腦來試圖計算最精確的π。一些極值包括 計算π的5億位。你甚至能從網上找到包含
Time of Update: 2016-10-18
題目前提是一定存在這樣兩個數解法一就不寫了...一般想不到吧一開始想到的是解法二最後的用hash表(其實是想到建立一個跟target一樣大的數組啦..存在就寫入index,但是要全部找出,那得二維數組,但是後面想到target要是很大的話,是不是浪費空間了...所以改成Dict)後面發現題目只要求給出兩個數就好了啊- -擴充問題比較有意思找三個應該不難,其它還不清楚,有想再補充...1.二維數組def find_pair(A, target): B = [[] for i in
Time of Update: 2016-10-18
組合演算法 本程式的思路是開一個數組,其下標表示1到m個數,數組元素的值為1表示其下標 代表的數被選中,為0則沒選中。 首先初始化,將數組前n個元素置1,表示第一個組合為前n個數。 然後從左至右掃描數組元素值的“10”組合,找到第一個“10”組合後將其變為 “01”組合,同時將其左邊的所有“1”全部移動到數組的最左端。 當第一個“1”移動到數組的m-n的位置,即n個“1”全部移動到最右端時,就得 到了最後一個組合。 例如求5中選3的組合:
Time of Update: 2016-10-18
一般情況下我們是把圖片儲存在檔案系統中,而只在資料庫中隱藏檔路徑的,但是有時候也會有特殊的需求:把圖片二進位存入資料庫。今天我們採用的是python+mysql的方式MYSQL 是支援把圖片存入資料庫的,也相應的有一個專門的欄位 BLOB (Binary Large
Time of Update: 2016-10-18
利用Python將阿拉伯數字轉化為中文大寫,其實最麻煩的地方就是中間空多個0的問題,這種情況下,採用拆分法則,將一個大數字,先拆分成整數部分和小數部分,再對整數部分按照仟、萬、億、兆分位拆分為四個字串組成的List,每個字串最多4個字元,然後對每個分位的字串用大寫函數轉換成大寫,最後合并,這樣等於縮減了問題,處理就相對簡單了#!/usr/bin/env python# -*- coding: utf-8
Time of Update: 2016-10-18
python處理Excel常用到的模組是xlrd。使用xlrd可以非常方便的處理Excel文檔,下面介紹一下基本用法1.開啟檔案import xlrddata= xlrd.open_workbook("c:\\skills.xls")擷取一個工作表table = data.sheet_by_name(u'skills') #也可以table =
Time of Update: 2016-10-18
訪問FTP,無非兩件事情:upload和download,最近在項目中需要從ftp下載大量檔案,然後我就試著去實驗自己的ftp操作類,如下(PS:此段有問題,別複製使用,可以參考去實驗自己的ftp類!)import osfrom ftplib import FTP class FTPSync(): def __init__(self, host, usr, psw, log_file): self.host = host self.usr = usr
Time of Update: 2016-10-18
近期學了一點Python,然後正好有一個手機同步工具方面的預研工作要完成。要實現PC與手機的通訊,首先要找到他們的通訊協定,還好的是Android有完善的協議:ADBADB的代碼是開源的,而且支援Windows平台,有現成的DLL可以調用:AdbWinApi.dll,AdbWinUsbApi.dll好了,可以用VC搞定,但我想用Python試一下,於是開始了苦逼的查資料+實驗的過程。實驗過程就不多說了,由於上面的兩個DLL都是用C實現的,提供的標頭檔也是C語言的,所以有了下面這個python測試
Time of Update: 2016-10-18
今天來實現一個約瑟夫環演算法,下面是一道新浪的面試題:m只猴子圍坐成一個圈,按順時針方向從1到m編號。然後從1號猴子開始沿順時針方向從1開始報數,報到n的猴子出局,再從剛出局猴子的下一個位置重新開始報數,如此重複,直至剩下一個猴子,它就是大王。設計並編寫程式,實現如下功能:(1)要求由使用者輸入開始時的猴子數m、報數的最後一個數n。(2)給出當選猴王的初始編號。這道題是典型的約瑟夫環問題,“猴子選大王”問題。注意:本執行個體在python2.7下測試通過,未在python3下測試,有興趣的同學可
Time of Update: 2016-10-18
最近被多線程給坑了下,沒意識到類變數在多線程下是共用的,還有一個就是沒意識到 記憶體釋放問題,導致越累越大1.python 類變數 在多線程情況 下的 是共用的2.python 類變數 在多線程情況 下的 釋放是不完全的3.python 類變數 在多線程情況 下沒釋放的那部分 記憶體 是可以重複利用的import threading import time class Test: cache = {} @classmethod def
Time of Update: 2016-10-18
根據字典檔案,使用python進行暴力破解,程式很簡單註:針對沒有驗證碼的情況執行個體代碼:#encoding=utf-8import httplib,urllibconn = httplib.HTTPConnection("www.xxx.cn")f=open("dict.txt")while 1: pwd=f.readline().strip() if not pwd: print '字典已比對完。' break params =
Time of Update: 2016-10-18
一個簡單的python查詢百度關鍵詞排名的函數,特點:1、UA隨機2、操作簡單方便,直接getRank(關鍵詞,網域名稱)就可以了3、編碼轉化。編碼方面應該沒啥問題了。4、結果豐富。不僅有排名,還有搜尋結果的title,URL,快照時間,符合SEO需求缺點:單線程,速度慢#coding=utf-8 import requestsimport BeautifulSoupimport reimport random def decodeAnyWord(w): try:
Time of Update: 2016-10-18
mrjob 可以讓用 Python 2.5+ 來編寫 MapReduce 作業,並在多個不同平台上運行,你可以:使用純 Python 編寫多步的 MapReduce 作業在本機上進行測試在 Hadoop 叢集上運行使用 Amazon Elastic MapReduce (EMR) 在雲上運行pip 的安裝方法非常簡單,無需配置,直接運行:pip install mrjob代碼執行個體:from mrjob.job import MRJobclass MRWordCounter(MRJob):
Time of Update: 2016-10-18
把pydev開發的一個上傳項目部署到測試環境時1、提示找不到我寫的模組解決方案:在項目入口增加代碼#在項目的PYTHONPATH 添加來源目錄PROJECT_DIR = os.path.dirname(__file__)PROJECT_ROOT_DIR = os.path.dirname(PROJECT_DIR)if not PROJECT_ROOT_DIR in sys.path:sys.path.append(PROJECT_ROOT_DIR)if not PROJECT_DIR in
Time of Update: 2016-10-18
PHP 有變數函數這一用法(見 http://www.php.net/manual/en/functions.variable-functions.php)即有一字串變數現在想用這個變數的值做為某函數名來調用代碼如下:def bar(): return 'bar'foo = 'bar'foo() #此處想調用 bar() 不知道 Python
Time of Update: 2016-10-18
產生項目scrapy提供一個工具來產生項目,產生的項目中預置了一些檔案,使用者需要在這些檔案中添加自己的代碼。開啟命令列,執行:scrapy startproject tutorial,產生的項目類似下面的結構tutorial/ scrapy.cfg tutorial/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py
Time of Update: 2016-10-18
python去除html標籤,自己寫的,若有不足請指正:#! /usr/bin/env python#coding=utf-8# blueel 2013-01-19from HTMLParser import HTMLParser class MLStripper(HTMLParser): def __init__(self): self.reset() self.fed = [] def handle_data(self, d):