我正在尝试编写一个文件文件,其中包含目录中每个文件的创建日期。我看了一下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
答案 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()