编写文件夹中项目的创建时间列表

时间:2015-03-20 18:25:05

标签: python-2.7 datetime timestamp

我正在尝试编写一个文件文件,其中包含目录中每个文件的创建日期。我看了一下this的问题,但我仍然需要帮助,除了好奇为什么下面的代码不起作用。

我想我很亲密。它适用于文件夹的创建日期,但我想知道何时创建文件

import os, os.path, time, datetime    
mydir = '/home/user/ebay/'
mydir2 = '/home/user/'
def writefiles():
    with open(mydir2 + '/items.txt', "wb") as a:
        for path, subdirs, files in os.walk(mydir):
            for file in files:
                a.write(file+' , '+(time.ctime(os.path.getctime(file))) + os.linesep)
writefiles()

我收到此错误消息:

OSError: [Errno 2] No such file or directory: 'PkV20ZrzMs'

这很奇怪,因为有一个名为'PkV20ZrzMs'的文件。我试图添加目录位置但它没有任何区别。

我认为我很接近的原因是当我将(os.path.getctime(file)更改为(os.path.getctime(path)时,我得到了文件夹的创建日期,如下所示:

PkV20ZrzMs , Fri Mar 20 13:43:31 2015
qZzo0ZUAtm , Fri Mar 20 13:43:31 2015
Tm5f8Lhgcd , Fri Mar 20 13:43:31 2015
vgMCBGdJu0 , Fri Mar 20 13:43:31 2015
Ja7Bwa5uEi , Fri Mar 20 13:43:31 2015

1 个答案:

答案 0 :(得分:1)

以下对我有用,所以也许你的道路上有什么东西?请注意,mydir2中有一个尾部斜线,当您连接'/items.txt'时可能会弄乱您正在写入的路径。

import os, os.path, time, datetime    

mydir = '/home/xnx/temp'
mydir2 = '/tmp'

def writefiles():
    with open(mydir2 + '/items.txt', "wb") as a:
        for path, subdirs, files in os.walk(mydir):
            for file in files:
                a.write(file+' , '+(time.ctime(os.path.getctime(
                           os.path.join(path, file)))) + os.linesep)
writefiles()