2013-10-18 83 views
0

我試圖獲取名稱,上次訪問日期和上次修改日期時從文件夾中的文件和所有工作。現在我試圖添加文件大小,但從那裏我得到了這個錯誤。Python TypeError:強制轉換爲Unicode:需要字符串或緩衝區,找到posix.stat_result

我沒有大小的工作結果:

[['28e20ee3-8e8c-427d-af73-cd9de58b5811_1156153318066-Ajax_Thuis_A4_665.jpg', 'Fri Oct 18 10:28:11 2013', 'Fri Oct 18 10:28:11 2013']] 

我的代碼看起來像大小此

import os,time 

def get_information(directory): 
    file_list = [] 
    for i in os.listdir(directory): 
     a = os.stat(os.path.join(directory,i)) 
     file_list.append([i,time.ctime(a.st_atime),time.ctime(a.st_ctime)]) #[file,most_recent_access,created] 
    return file_list 

print get_information("/home/randy/testfolder") 

我的代碼如下所示(相關專用):

file_list.append([i,time.ctime(a.st_atime),time.ctime(a.st_ctime),os.path.getsize(a)]) 

怎麼辦我得到輸出顯示文件大小沒有錯誤?我需要對大量文件執行此操作。

回答

1

你有

a = os.stat(os.path.join(directory,i)) 
os.path.getsize(a) 

os.path.getsize把參數作爲一個路徑,但你給它的os.stat結果。

您可以直接使用a.st_size而不是致電os.path.getsize

相關問題