基本客製化型
C.init(self[, arg1, ...]) 建構器(帶一些可選的參數)
C.new(self[, arg1, ...]) 建構器(帶一些可選的參數);通常用在設定不變資料型別的子類別。
C.del(self) 解構器
C.str(self) 可列印的字元輸出;內建str()及print 語句
C.repr(self) 執行時期的字串輸出;內建repr() 和'' 運算元
##C.unicode(self)b Unicode 字串輸出;內建unicode()C.cC.nonzero(self) 為object 定義False 值;內建bool() (從2.2 版開始)
C.len(self) 「長度」(可用來類別);內建len()特殊方法 描述物件(值)比較c
C.cmp(self, obj)物件比較;內建cmp()
C.lt(self, obj) and 小於/小於或等於;對應<及<=運算子C.gt(self, obj) and 大於/大於或等於;對應>且>=運算子C.eq(self, obj) and 等於/不等於;對應==,!=且<>運算子 C.getattr(self, attr) 取得屬性;內建getattr();僅當屬性找不到時呼叫C.C.delattr(self, attr)刪除屬性##C.getattribute(self, attr) 取得屬性;內建getattr();總是被呼叫
C.get(self, attr) (描述子)取得屬性
C.set(self, attr, val) (描述子)設定屬性
C.
delete(self, attr) (描述子)刪除屬性自訂類別/類比類型
##數值類型
:二進位運算子C.*sub(self, obj) 減;-運算子C.*mul(self, obj) 乘;*運算子C.*p(self, obj) 除;/運算子C.*truep(self, obj) True 除;/運算符C.*floorp(self, obj) Floor 除;//運算符C.*mod(self, obj) 取模/取餘;%運算子C.*pmod(self, obj) 除與取模;內建pmod()C.*pow(self, obj[, mod]) 乘冪;內建pow();**運算子C.*lshift(self, obj) 左移位;<<運算子 特殊方法描述 #自訂類別/模擬類型數值類型:二進位運算子C.*rshift(self, obj) 右移;>>運算子#C. *and(self, obj) 位元與;&運算子C.*or(self, obj) 位元或;|運算子C.*xor(self, obj ) 按位元與或;^運算子數值型別:一元運算子C.neg(self) 一元負C.pos(self) 一元正C.abs(self) 絕對值;內建abs()C.invert(self) 以位元求反;~運算子數值類型:數值轉換C.complex(self, com) 轉為complex(複數);內建complex()C.int(self) 轉為int;內建int()
C.long(self) 轉為long;內建long()C.
float
(self) 轉為float;內建float()數值類型:基本表示法(String
)C.hex(self) 十六進位表示;內建hex()數值型別:數值壓縮C.coerce(self, num) 壓縮成同樣的數值型別;內建coerce()C.index(self)g 在有必要時,壓縮可選的數值類型為整數(例如:用於切片#索引等等序列類型#C.len(self) 序列中項的數目C.getitem(self, ind) 得到單一序列元素C.setitem(self, ind,val) 設定單一序列元素C.delitem(self, ind) 刪除單一序列元素特殊方法描述序列類型C.getslice(self, ind1, ind2) 得到序列片段C.setslice(self, i1, i2,val) 設定序列片段C.delslice(self, ind1,ind2) 刪除序列片段 #C.contains(self, val) f 測試序列成員;內建in 關鍵字C.*add(self,obj) 串連;+運算子C.*mul (self,obj) 重複;*運算子C.iter(self) 建立迭代類別;內建iter()映射類型C.len(self ) mapping 中的項的數目C.getitem(self,key) 得到給定鍵(key)的值
C.setitem(self,key,val) 設定給定鍵(key)的值
C.delitem(self,key) 刪除給定鍵(key)的值
C.missing(self,key) 給定鍵如果不存在字典中,則提供一個預設值
記幾個常用的python函數,免得忘
取得檔案副檔名函數:傳回副檔名和擴充名之前的檔案名稱路徑。
os.path.splitext('xinjingbao1s.jpg')
('xinjingbao1s', '.jpg')
os和os.path模組
#os.listdir(dirname):列出dirname下的目錄和檔案
os.getcwd():取得目前工作目錄
os.curdir:傳回但前目錄('. ')
os.chdir(dirname):改變工作目錄到dirname
os.path.isdir(name):判斷name是不是一個目錄,name不是目錄就回傳false
os.path.isfile(name):判斷name是不是一個文件,不存在name也回傳false
os.path.exists(name):判斷是否存在文件或目錄name
os.path.getsize(name):取得檔案大小,如果name是目錄回傳0L
os.path.abspath(name):取得絕對路徑
os.path .normpath(path):規範path字串形式
os.path.split(name):分割檔案名稱與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為文件名而分離,同時它不會判斷檔案或目錄是否存在)
os.path.splitext():分離檔案名稱與副檔名
os.path.join(path,name ):連線目錄與檔名或目錄
os.path.basename(path):回傳檔名
os.path.dirname(path):傳回檔案路徑
1.重新命名:os.rename(old, new)
2.刪除:os.remove(file)
3.列出目錄下的檔案:os.listdir(path )
4.取得目前工作目錄:os.getcwd()
5.改變工作目錄:os.chdir(newdir)
6.建立多層目錄: os.makedirs(r"c:\python\test")
7.建立單一目錄:os.mkdir("test")
8.刪除多個目錄:os.removedirs (r"c:\python") #刪除所給路徑最後一個目錄下所有空目錄。
9.刪除單一目錄:os.rmdir("test")
10.取得檔案屬性:os.stat(file)
11.修改檔案權限與時間戳記:os.chmod(file)
12.執行作業系統指令:os.system("dir")
13.啟動新進程:os.exec(), os. execvp()
14.在背景執行程式:osspawnv()
15.終止目前處理:os.exit(), os._exit()
16.分離檔名:os.path.split(r"c:\python\hello.py") --> ("c:\\python", "hello.py")
17.分離副檔名:os.path.splitext(r"c:\python\hello.py") --> ("c:\\python\\hello", ".py")
#18.取得路徑名稱:os.path.dirname(r"c:\python\hello.py") --> "c:\\python"
19.取得檔案名稱:os.path.basename (r"r:\python\hello.py") --> "hello.py"
#20.判斷檔案是否存在:os.path.exists(r"c:\python\hello. py") --> 真
21.判斷是否為絕對路徑:os.path.isabs(r".\python\") --> False
22.判斷是否為目錄:os.path.isdir(r"c:\python") --> True
23.判斷是否為檔案:os.path.isfile(r"c:\python\hello .py") --> True
24.判斷是否為連結檔:os.path.islink(r"c:\python\hello.py") --> False
#25.取得檔案大小:os.path.getsize(filename)
26.*******:os.ismount("c:\\") --> True
27.搜尋目錄下的所有檔案:os.path.walk()
[2.shutil]
#1.複製單一檔案:shultil.copy(oldfile, newfle)
2.複製整個目錄樹:shultil.copytree(r".\setup", r".\backup")
3.刪除整個目錄樹:shultil.rmtree(r".\backup")
[3.tempfile]
1.建立一個唯一的暫存檔案:tempfile.mktemp() --> filename
2.開啟臨時檔案:tempfile.TemporaryFile()
[4.StringIO] #cStringIO是StringIO模組的快速實作模組
1.建立記憶體檔案並寫入初始資料:f = StringIO.StringIO("Hello world!")
2.讀入記憶體檔案資料:print f.read() #或print f.getvalue() --> Hello world!
3.想記憶體檔案寫入資料:f.write("Good day!")
#4.關閉記憶體檔案:f.close()
檢視原始程式碼列印幫助1 from time import *
2
#3 def secs2str(secs):
4 return strftime("%Y-%m-%d %H:%M:%S",localtime(secs)) 5
5
6 >>> secs2str(1227628280.0)
7 '2008-11-25 23:51:20'
將指定的struct_time(預設為目前時間),根據指定的格式化字串輸出
python中時間日期格式化符號:
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m 月份(01-12)
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12)
# %M 分鐘數(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%j 年內的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(00-53)星期日為星期的開始
%w 星期(0-6),星期日為星期的開始
%W 一年中的星期數(00-53)星期一為星期的開始
%x 本地相應的日期表示
%X 本地對應的時間表示
#%Z 目前時區的名稱
%% %號本身
9. strptime(…)
strptime(string, format) -> struct_time
將時間字串根據指定的格式化符轉換成陣列形式的時間
例如:
2009-03-20 11:45:39 對應的格式化字串為:%Y-%m-%d %H:%M:%S
Sat Mar 28 22:24:24 2009 對應的格式化字串為:%a %b %d %H:%M:%S %Y
#10.time(…)
time() -> floating point number
傳回目前時間的時間戳記
三、疑點
1.夏令時間
#在struct_time中,夏令時好像沒用,例如
a = (2009, 6, 28, 23, 8, 34, 5, 87, 1)
b = (2009 , 6, 28, 23, 8, 34, 5, 87, 0)
a和b分別表示的是夏令時和標準時間,它們之間轉換為時間戳應該相關3600,但是轉換後輸出皆為646585714.0
四、小應用程式
#1.python取得目前時間
time.time() 取得目前時間戳
#time.localtime () 當前時間的struct_time形式
time.ctime() 當前時間的字串形式
2.python格式化字串
##格式化成2009-03-20 11:45:39形式 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())格式化成Sat Mar 28 22:24: 24 2009形式 time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())3.將格式字串轉換為時間戳 a = "Sat Mar 28 22:24:24 2009" b = time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))python time datetime模組詳解Time模組:---------------------------」 -------time() #以浮點形式傳回Linux新世紀以來經過的秒數。在linux中,00:00:00 UTC, January 1, 1970是新**49**的開始。 >>> time.time()1150269086.6630149>>> time.ctime(1150269086.6630149)##> >> 'Wed Jun 14 15:11:26 2006'
time.ctime([sec])#把秒數轉換成日期格式,如果不帶參數,則顯示目前的時間。
>>> import time
>>> time.ctime()
>>> 'Wed Jun 14 15:02 :50 2006'
>>> time.ctime(1138068452427683)
'Sat Dec 14 04:51:44 1901'
> ; time.ctime(os.path.getmtime('E:\\untitleds.bmp'))
'Fri Sep 19 16:35:37 2008'
>>> ; time.gmtime(os.path.getmtime('E:\\untitleds.bmp'))
time.struct_time(tm_year=2008, tm_mon=9, tm_mday=19, tm_hour=8, tm_min= 35,
tm_sec=37, tm_wday=4, tm_yday=263, tm_isdst=0)
將一個檔案的修改時間轉換為日期格式(秒轉日期)
>>> time.strftime('%Y-%m-%d %X',time.localtime(os.path.getmtime('E:\\untitleds.bmp')))
'2008-09-19 16:35:37'
#定時3秒。
>>> time.sleep(3)
TIME模組參考:
#———————————————— -----------------
#取一個檔案的修改時間
>>> os.path.getmtime('E :\\untitleds.bmp')
1221813337.7626641
變數以上是使用Python常用函數說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!