1

有一个目录: /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,但我收到 No such directory 错误。

我发现glob.glob()用过,但没有用。我怎样才能做到这一点?

4

1 回答 1

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))

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

于 2013-02-28T13:19:17.430 回答