要将文件名和大小存储在元组中并将它们写入文本文件,您可以执行以下操作:
from Tkinter import Tk
from tkFileDialog import askdirectory
from array import *
import os
Tk().withdraw()
fileDir = askdirectory()
print(fileDir)
dirList = os.listdir(fileDir)
data = ((fname, str(os.path.getsize(fileDir + "/" + fname))) for fname in dirList)
outputFile = open('myoutputfile.csv', 'w')
for entry in data:
outputFile.write(','.join(entry) + '\n')
outputFile.close()
在我的 python 安装目录上运行它会得到一个如下所示的文件:
DLLs,4096
Doc,0
include,32768
Lib,65536
libs,4096
LICENSE.txt,40080
NEWS.txt,285115
python.exe,27136
pythonw.exe,27648
README.txt,54967
Scripts,0
tcl,4096
Tools,4096
您应该可以在 Excel 中将其作为 .csv 文件打开,这没有问题。请注意,如果其中任何一个文件名中包含逗号、换行符等,您可能必须引用文件名。
对于更重的东西,有csv 模块,但我认为对于这样一个简单的文件来说它是多余的。如果您有兴趣使用它,它看起来像这样:
import csv
with open('myoutputfile.csv', 'wb') as outputFile:
csvwriter = csv.writer(outputFile, dialect='excel')
for entry in data:
csvwriter.writerow(entry)