Python 当尝试访问多个文件的大小时,以下程序有什么问题?

Python 当尝试访问多个文件的大小时,以下程序有什么问题?,python,Python,当尝试访问多个文件的大小时,以下程序有什么问题 import os, glob cwd = "C:\\temp" files = glob.glob (cwd + "\\.jpg") with open ("file_size.txt", "w") as outfile: for file in files: get_size = os.path.getsize (file) outfile.writelines (get_size) 您不能将数字传递给

当尝试访问多个文件的大小时,以下程序有什么问题

import os, glob
cwd = "C:\\temp"
files = glob.glob (cwd + "\\.jpg")
with open ("file_size.txt", "w") as outfile:
    for file in files:
        get_size = os.path.getsize (file)
        outfile.writelines (get_size)

您不能将数字传递给
file.writelines()

用于将iterables写入文件:

将字符串序列写入文件。序列可以是任意的 iterable对象生成字符串,通常是字符串列表

write()
替换
writelines()
,并使用
str(获取大小)

这将在文件中的新行上写入每个文件大小

或者,也可以将大小收集到列表中,然后通过
writelines()写入:


glob.glob
使用shell扩展
c:\temp\.jpg
将只匹配名为
.jpg
的文件。你是说

files = glob.glob(cwd + r'\*.jpg")
(注意使用原始字符串前缀以避免转义反斜杠)

outfile.write(str(get_size))
filesizes = [str((os.path.getsize(file)) for file in files]
with open ("file_size.txt", "w") as outfile:
    outfile.writelines(filesizes)
files = glob.glob(cwd + r'\*.jpg")