如何在python中使用os.path.getsize()和*?

时间:2013-02-28 13:11:27

标签: python

有一个目录:/ home / zurelsoft / files  文件名为.sachitadhFebruary28,2013,18:45PMsolexa.zip.M9mw9e

有很多这样的文件:

.sachitadhFebruary28,2013,18:45PMsolexa.zip.M
.sachitadhFebruary28,2013,18:45PMsolexa.zip.KK

存储在数据库中。

    current_file = Queue.objects.all()
      j = [i.file_session for i in current_file]
        k = [str(i) for i in j]
        new_file_size = [int(os.path.getsize(i+'*')) for i in k]

我正在尝试像这样获得filsize,但我收到了这样的目录错误。

我发现glob.glob()使用过但不起作用。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

getsize恰好一个文件名 - 并且您提供的任何内容都假定为文件名。为了获得你想要的扩展,你确实想要使用glob.glob - 大概是因为你做了类似的事情它不起作用:

os.path.getsize(glob.glob('/home/zurelsoft/*'))

这将始终给出异常,因为glob不会返回getsize期望的正好一个文件名 - 它返回所有匹配的列表。迭代该列表以获得每个人 - 例如,

for filename in glob.glob('/home/zurelsoft/*'):
   print(os.path.getsize(filename))

将打印主目录中每个文件的大小。