Time of Update: 2017-01-19
系統管理員通常從svn/git中檢索代碼,部署網站後通常首先會產生該網站所有檔案的MD5值,如果上線後網站頁面內容被篡改(如掛馬)等,可以比對之前產生MD5值快速尋找去那些檔案被更改,為了使系統管理員第一時間發現,可結合crontab或nagios等工具。程式測試如下:# python check_change.py Usage: python check_change.py update /home/wwwroot python check_change.py check
Time of Update: 2017-01-19
之前有寫利用md5方式來做差異備份,但是這種md5方式來寫存在以下問題:•md5sum擷取有些軟串連的MD5值存在問題 •不支援對空目錄進行備份,因為md5sum無法擷取空目錄的md5值 •許可權的修改md5sum無法判斷 解決方案:利用檔案的mtime ctimemtime(Modified time)是在寫入檔案時隨檔案內容的更改而更改的ctime(Create
Time of Update: 2017-01-19
我從Stephen A. Goss那讀到關於了《Python 3正在毀滅Python》。這篇文章有不少精彩的論點,但我卻並不認為Python 3是在毀滅Python,也不認為整個局面對Python一點也不利。但是正如那些比較俗氣的格言所說,也許每一次危機也意味著一次機遇。也許Python 3能振興Python。顯然,麻煩的不僅僅是Python 2到Python
Time of Update: 2017-01-19
Python 3毫不費力地成為發生在Python社區裡最糟糕的事。我還記得第一次使用Python的時候,我還在花大量時間在C++這塊上,而Python就像是我的一次開光。我可以開啟文字編輯器用幾秒鐘或者幾分鐘寫出一個可以工作的程式,而不是用幾小時或幾天。我記得Python 2.5出來的時候,帶來了一大堆嶄新的簡潔的語言特性。我愛Python,但是我承認它有弱點,但是沒關係,所有程式設計語言都有。它強大的地方使其變得有趣。Python 3相比Python
Time of Update: 2017-01-19
List 是 Python 中常用的資料類型,它一個有序集合,即其中的元素始終保持著初始時的定義的順序(除非你對它們進行排序或其他修改操作)。在Python中,向List添加元素,方法有如下4種方法(append(),extend(),insert(), +加號)1. append()
Time of Update: 2017-01-19
回顧一下已有的戰果:(1)串連資料庫;(2)建立指標;(3)通過指標插入記錄;(4)提交將插入結果儲存到資料庫。在互動模式中,先溫故,再知新。複製代碼 代碼如下:>>> #匯入模組>>> import MySQLdb>>> #串連資料庫>>> conn = MySQLdb.connect(host="localhost",user="root",passwd="123123",db="qiwsirtest",port=303
Time of Update: 2017-01-19
在上一講中已經串連了資料庫。就資料庫而言,串連之後就要對其操作。但是,目前那個名字叫做qiwsirtest的資料僅僅是空架子,沒有什麼可操作的,要操作它,就必須在裡面建立“表”,什麼是資料庫的表呢?下面摘抄字維基百科對資料庫表的簡要解釋,要想詳細瞭解,需要看官在找一些有關資料庫的教程和書籍來看看。在關聯式資料庫中,資料庫表是一系列二維數組的集合,用來代表和儲存資料對象之間的關係。它由縱向的列和橫向的行組成,例如一個有關作者資訊的名為 authors
Time of Update: 2017-01-19
在初步瞭解Python多進程之後,我們可以繼續探索multiprocessing包中更加進階的工具。這些工具可以讓我們更加便利地實現多進程。進程池進程池 (Process Pool)可以建立多個進程。這些進程就像是隨時待命計程車兵,準備執行任務(程式)。一個進程池中可以容納多個待命計程車兵。“三個進程的進程池”比如下面的程式:複製代碼 代碼如下:import multiprocessing as muldef f(x): return x**2pool =
Time of Update: 2017-01-19
在迴圈對象和函數對象中,我們瞭解了迴圈器(iterator)的功能。迴圈器是對象的容器,包含有多個對象。通過調用迴圈器的next()方法 (__next__()方法,在Python 3.x中),迴圈器將依次返回一個對象。直到所有的對象遍曆窮盡,迴圈器將舉出StopIteration錯誤。在for i in iterator結構中,迴圈器每次返回的對象將賦予給i,直到迴圈結束。使用iter()內建函數,我們可以將諸如表、字典等容器變為迴圈器。比如:複製代碼 代碼如下:for i in iter([
Time of Update: 2017-01-19
Python內建一個輕量級的關係型資料庫SQLite。這一資料庫使用SQL語言。SQLite作為後端資料庫,可以搭配Python建網站,或者製作有資料存放區需求的工具。SQLite還在其它領域有廣泛的應用,比如HTML5和移動端。Python標準庫中的sqlite3提供該資料庫的介面。我將建立一個簡單的關係型資料庫,為一個書店儲存書的分類和價格。資料庫中包含兩個表:category用於記錄分類,book用於記錄某個書的資訊。一本書歸屬於某一個分類,因此book有一個外鍵(foreign key)
Time of Update: 2017-01-19
本函數可以使用參數real +
Time of Update: 2017-01-19
一、遠端程序呼叫RPC XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a transport. With it, a client can call methods with parameters on a remote server (the server is named by a URI) and get back structured data. This module
Time of Update: 2017-01-19
使用os.environ來讀取和修改環境變數:複製代碼 代碼如下:import osprint (os.environ["TEMP"])mydir = "c:\\mydir"os.environ["MYDIR"] = mydirprint (os.environ["MYDIR"])pathV = os.environ["PATH"]print (pathV)os.environ["PATH"]= mydir + ";" + os.environ["PATH"]print (os.environ[
Time of Update: 2017-01-19
使用:複製代碼 代碼如下:foldercleanup.py -d 10 -k c:\test\keepfile.txt c:\test表示對c:\test目錄只保留最近10天的子檔案夾和keepfile.txt中指定的子檔案夾。代碼:複製代碼 代碼如下:import osimport os.pathimport datetime def getOption(): from optparse import OptionParser
Time of Update: 2017-01-19
一、簡單使用複製代碼 代碼如下:def TestLogBasic(): import logging logging.basicConfig(filename = 'log.txt', filemode = 'a', level = logging.NOTSET, format = '%(asctime)s - %(levelname)s: %(message)s')
Time of Update: 2017-01-19
本文執行個體講述了Python三元運算實現方法。分享給大家供大家參考。具體分析如下:Python中沒有像C++和Java等語言中的三元運算子,但是可以用if else語句實現相同的功能:複製代碼 代碼如下:>>> condition = True >>> print 'True' if condition else 'False' True >>> condition = False >&
Time of Update: 2017-01-19
本文執行個體講述了Python中的True,False條件判斷用法。分享給大家供大家參考。具體分析如下:對於有編程經驗的程式員們都知道條件陳述式的寫法:以C++為例:複製代碼 代碼如下:if (condition) { doSomething(); }對於Python中的條件判斷語句的寫法則是下面的樣子:複製代碼 代碼如下:if (condition):
Time of Update: 2017-01-19
fileinput模組提供處理一個或多個文字檔的功能,可以通過使用for迴圈來讀取一個或多個文字檔的所有行。它的工作方式和readlines很類似,不同點在於它不是將全部的行讀到列表中而是建立了一個xreadlines對象。下面是fileinput模組中的常用函數:input() #返回能夠用於for迴圈遍曆的對象filename() #返回當前檔案的名稱lineno() #返回當前已經讀取的行的數量(或者序號)filelineno()
Time of Update: 2017-01-19
Python字典的建立方法一:>>> blank_dict = {}>>> product_dict = {'MAC':8000,'Iphone':5000, 'ipad':4000, 'mp3': 300}>>> product_dict{'ipad': 4000, 'MAC': 8000, 'Iphone': 5000, 'mp3': 300}>>> blank_dict,product_dict({}, {'ipad'
Time of Update: 2017-01-19
os.getcwd() 擷取當前工作目錄,即當前python指令碼工作的目錄路徑 os.chdir("dirname") 改變當前指令碼工作目錄;相當於shell下cdos.curdir 返回目前的目錄: ('.')os.pardir 擷取目前的目錄的父目錄字元串名:('..')os.makedirs('dirname1/dirname2') 可產生多層遞迴目錄os.removedirs('dirname1')