<p><a href="https://docs.python.org/2.7/library/os.path.html#module-os.path" rel="nofollow noreferrer">https://docs.python.org/2.7/library/os.path.html#module-os.path</a></p>
<pre><code>os.path.getsize(path) # size in bytes
os.path.ctime(path) # time of last metadata change; it's a bit OS specific.
</code></pre>
<p>这是你的程序的重写。我这样做:</p>
<ol>
<li>使用autopep8重新格式化以提高可读性。(你可以安装它来美化你的代码和代码。但是像PyCharm Community Edition这样的IDE除了帮助你完成代码和GUI调试器外,还可以帮助你做到这一点。)</li>
<li>使<code>getListofFiles()</code>返回元组列表。每一个元素中有三个元素;文件的文件名、大小和时间戳,这似乎就是所谓的纪元时间(自1970年以来的时间单位为秒;您必须阅读有关日期和时间的python文档)</李>
<li>元组是以.csv样式的格式写入文本文件的(但请注意,有一些模块可以更好地执行相同的操作)</李>
</ol>
<p>重写代码:</p>
<pre><code>import os
def getListOfFiles(ruta):
listOfFile = os.listdir(ruta)
allFiles = list()
for entry in listOfFile:
fullPath = os.path.join(ruta, entry)
if os.path.isdir(fullPath):
allFiles = allFiles + getListOfFiles(fullPath)
else:
print('getting size of fullPath: ' + fullPath)
size = os.path.getsize(fullPath)
ctime = os.path.getctime(fullPath)
item = (fullPath, size, ctime)
allFiles.append(item)
return allFiles
ruta = "FolderPath"
miArchivo = open("TxtPath", "w")
listOfFiles = getListOfFiles(ruta)
for elem in listOfFiles:
miArchivo.write("%s,%s,%s\n" % (elem[0], elem[1], elem[2]))
miArchivo.close()
</code></pre>
<p>现在它做到了</p>
<pre><code>my-MBP:verynew macbookuser$ python verynew.py; cat TxtPath
getting size of fullPath: FolderPath/dir2/file2
getting size of fullPath: FolderPath/dir2/file1
getting size of fullPath: FolderPath/dir1/file1
FolderPath/dir2/file2,3,1583242888.4
FolderPath/dir2/file1,1,1583242490.17
FolderPath/dir1/file1,1,1583242490.17
my-MBP:verynew macbookuser$
</code></pre>