2013-06-28 221 views
0

我有一个工作脚本,它将打印给定目录中的所有文件。我想帮助它做两件额外的事情:从目录和子目录中提取文件和时间戳

(1)也能够打印每个文件的date_created或时间戳。 (2)以上所有内容不仅适用于给定目录中的文件,而且也适用于所有子目录。

这里是工作的脚本:

from os import listdir 
from os.path import isfile, join 
from sys import argv 

script, filename = argv 

mypath = os.getcwd() 

allfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ] 

output = open(filename, 'w') 

for i in allfiles: 
    string = "%s" %i 
    output.write(string + "\n") 

output.close() 

print "Directory printed." 

我希望能够打印出类似这样(文件名+ “” +时间戳+ “\ n”),或者一些替代品。

谢谢!

+0

(对于我目前的目的,只有打印时间戳就足够了。) – user1893148

+0

真的,使用'os.walk'! –

回答

1

这个片段通过文件走在一个目录下的子目录+和打印出创建修改时间戳。

import os 
import time 

def walk_files(directory_path): 
    # Walk through files in directory_path, including subdirectories 
    for root, _, filenames in os.walk(directory_path): 
     for filename in filenames: 
      file_path = root + '/' + filename 
      created  = os.path.getctime(file_path) 
      modified = os.path.getmtime(file_path) 

      # Process stuff for the file here, for example... 
      print "File: %s" % file_path 
      print " Created:  %s" % time.ctime(created) 
      print " Last modified: %s" % time.ctime(modified) 


walk_files('/path/to/directory/') 
相关问题