Time of Update: 2017-01-19
Python中除了字典,列表,元組還有一個非常好用的資料結構,那就是set了,靈活的運用set可以減去不少的操作(雖然set可以用列表代替)小例子1.如果我要在許多列表中找出相同的項,那麼用集合是最好不過的了,用集合只用一行就可以解決複製代碼 代碼如下:x & y & z # 交集2.去重複製代碼 代碼如下:>>> lst = [1,2,3,4,1]>>> print list(set(lst))[1, 2, 3,
Time of Update: 2017-01-19
subprocess意在替代其他幾個老的模組或者函數,比如:os.system os.spawn* os.popen* popen2.* commands.*subprocess最簡單的用法就是調用shell命令了,另外也可以調用程式,並且可以通過stdout,stdin和stderr進行互動。subprocess的主類複製代碼 代碼如下:subprocess.Popen( args, &
Time of Update: 2017-01-19
此指令碼主要用於zabbix監控系統硬碟只用,適用於windows和linux系統,傳回值為0為正常,有幾個分區的硬碟剩餘少於10G或低於10%就為警示閥值(windows的C盤和linux的根分區除外):複製代碼 代碼如下:#!/bin/env python # -*- coding: utf-8 -*- ########################################################## # @This script is used to check
Time of Update: 2017-01-19
近來有些東西需要監控警示發郵件,然後在網上找了點材料,自己寫了一個簡單發送郵件的指令碼,主要就是運用python的smtplib模組,分享給大家看一下:複製代碼 代碼如下:#!/usr/bin/env python # -*- coding: utf-8 -*- #匯入smtplib和MIMEText import smtplib,sys from email.mime.text import MIMEText def send_mail(sub,content):
Time of Update: 2017-01-19
以下幾種方法來類比enum:(感覺方法一簡單實用)複製代碼 代碼如下:# way1class Directions: up = 0 down = 1 left = 2 right =3 print Directions.down# way2dirUp, dirDown, dirLeft, dirRight =
Time of Update: 2017-01-19
一、讀取excel這裡介紹一個不錯的包xlrs,可以工作在任何平台。這也就意味著你可以在Linux下讀取Excel檔案。首先,開啟workbook;複製代碼 代碼如下:import xlrdwb = xlrd.open_workbook('myworkbook.xls')檢查表單名字:複製代碼 代碼如下:wb.sheet_names()得到第一張表單,兩種方式:索引和名字 複製代碼 代碼如下:sh = wb.sheet_by_index(0)sh =
Time of Update: 2017-01-19
一、執行個體和結果1)執行個體的結構和具體的檔案:複製代碼 代碼如下:PyPackage│ PyCommonM.py│ __init__.py│├─p1Package│ P1M.py│ P1MC.py│ __init__.py│└─p2
Time of Update: 2017-01-19
獲得當前機器的名字:複製代碼 代碼如下:def hostname(): sys = os.name if sys == 'nt':
Time of Update: 2017-01-19
一、batch與shell中目錄及檔案:複製代碼 代碼如下:C:\TESTFOLDER\TEST├─Test2└─Test3 test.txt刪除目錄及其下的所有檔案:複製代碼 代碼如下:rmdir /S /Q c:\TestFolder\test刪除所有目錄下的檔案,但是目錄結構不能被刪除:複製代碼 代碼如下:del /F /S /Q c:\TestFolder\test\*Linux類似的命令為:複製代碼
Time of Update: 2017-01-19
SAX是一種基於事件驅動的API。利用SAX解析XML文檔牽涉到兩個部分:解析器和事件處理器。解析器負責讀取XML文檔,並向事件處理器發送事件,如元素開始跟元素結束事件;而事件處理器則負責對事件作出相應,對傳遞的XML資料進行處理。執行個體:複製代碼 代碼如下:import sys, string from xml.sax import handler, make_parser class
Time of Update: 2017-01-19
Python list內建sort()方法用來排序,也可以用python內建的全域sorted()方法來對可迭代的序列排序產生新的序列。1)排序基礎簡單的升序排序是非常容易的。只需要調用sorted()方法。它返回一個新的list,新的list的元素基於小於運算子(__lt__)來排序。複製代碼 代碼如下:>>> sorted([5, 2, 3, 1, 4])[1, 2, 3, 4,
Time of Update: 2017-01-19
python引用變數的順序: 當前範圍局部變數->外層範圍變數->當前模組中的全域變數->python內建變數一、globalglobal關鍵字用來在函數或其他局部範圍中使用全域變數。但是如果不修改全域變數也可以不使用global關鍵字。複製代碼 代碼如下:gcount = 0def global_test(): print (gcount) def
Time of Update: 2017-01-19
一、裝飾器decorator decorator設計模式允許動態地對現有的對象或函數封裝以至於修改現有的職責和行為,簡單地講用來動態地擴充現有的功能。其實也就是其他語言中的AOP的概念,將對象或函數的真正功能也其他輔助的功能的分離。二、Python中的decoratorpython中的decorator通常為輸入一個函數,經過裝飾後返回另一個函數。
Time of Update: 2017-01-19
一、python多線程因為CPython的實現使用了Global Interpereter
Time of Update: 2017-01-19
一、閉包來自wiki:閉包(Closure)是詞法閉包(Lexical Closure)的簡稱,是引用了自由變數的函數。這個被引用的自由變數將和這個函數一同存在,即使已經離開了創造它的環境也不例外。所以,有另一種說法認為閉包是由函數和與其相關的引用環境組合而成的實體。在一些語言中,在函數中定義另一個函數時,如果內部的函數引用了外部的函數的變數,則可能產生閉包。運行時,一旦外部的
Time of Update: 2017-01-19
由於CPython實現中的GIL的限制,python中的多線程其實並不是真正的多線程,如果想要充分地使用多核CPU的資源,在python中大部分情況我們需要使用多進程。 這也許就是python中多進程類庫如此簡潔好用的原因所在。在python中可以向多線程一樣簡單地使用多進程。一、多進程 process的成員變數和方法:>>class multiprocessing.Process([group[, target[, name[, args[, kwargs]]]]])
Time of Update: 2017-01-19
同步的方法基本與多線程相同。1) Lock當多個進程需要訪問共用資源的時候,Lock可以用來避免訪問的衝突。複製代碼 代碼如下:import multiprocessingimport sysdef worker_with(lock, f): with lock: fs =
Time of Update: 2017-01-19
Python中進程間共用資料,處理基本的queue,pipe和value+array外,還提供了更高層次的封裝。使用multiprocessing.Manager可以簡單地使用這些進階介面。Manager()返回的manager對象控制了一個server進程,此進程包含的python對象可以被其他的進程通過proxies來訪問。從而達到多進程間資料通訊且安全。Manager支援的類型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphor
Time of Update: 2017-01-19
下載8000首兒歌的python的代碼:複製代碼 代碼如下:#-*- coding: UTF-8 -*-from pyquery import PyQuery as pyfrom lxml import etreeimport urllibimport reimport osimport sysimport loggingdef format(filename): tuple=(' ',''','\'') for char
Time of Update: 2017-01-19
python除了關鍵字(keywords)和內建的類型和函數(builtins),更多的功能是通過libraries(即modules)來提供的。常用的libraries(modules)如下:1)python運行時服務* copy: copy模組提供了對複合(compound)對象(list,tuple,dict,custom class)進行淺拷貝和深拷貝的功能。* pickle: