文件的屬性
所謂屬性,就是能夠通過一個文件對象得到的東西。
代碼如下:
>>> f = open("131.txt","a")
>>> f.name
'131.txt'
>>> f.mode #顯示當前文件打開的模式
'a'
>>> f.closed #文件是否關閉,如果關閉,返回True;如果打開,返回False
False
>>> f.close() #關閉文件的內置函數
>>> f.closed
True
文件的有關狀態
很多時候,我們需要獲取一個文件的有關狀態(有時候成為屬性,但是這里的文件屬性和上面的文件屬性是不一樣的,可是,我覺得稱之為文件狀態更好一點),比如創建日期,訪問日期,修改日期,大小,等等。在os模塊中,有這樣一個方法,能夠解決此問題:
代碼如下:
>>> import os
>>> file_stat = os.stat("131.txt") #查看這個文件的狀態
>>> file_stat #文件狀態是這樣的。從下面的內容,有不少從英文單詞中可以猜測出來。
posix.stat_result(st_mode=33204, st_ino=5772566L, st_dev=2049L, st_nlink=1, st_uid=1000, st_gid=1000, st_size=69L, st_atime=1407897031, st_mtime=1407734600, st_ctime=1407734600)
>>> file_stat.st_ctime #這個是文件創建時間
1407734600.0882277 #換一種方式查看這個時間
>>> import time
>>> time.localtime(file_stat.st_ctime) #這回看清楚了。
time.struct_time(tm_year=2014, tm_mon=8, tm_mday=11, tm_hour=13, tm_min=23, tm_sec=20, tm_wday=0, tm_yday=223, tm_isdst=0)
以上關于文件狀態和文件屬性的內容,在對文件的某些方面進行判斷和操作的時候或許會用到。特別是文件屬性。比如在操作文件的時候,我們經常要首先判斷這個文件是否已經關閉或者打開,就需要用到file.closed這個屬性來判斷了。
文件的內置函數
代碼如下:
>>> dir(file)
['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']
新聞熱點
疑難解答