以字节为单位获取文件mod time和size(python)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以字节为单位获取文件mod time和size(python)相关的知识,希望对你有一定的参考价值。

  1. #!/bin/env python
  2. import os, time, re, optparse
  3.  
  4.  
  5. usage = '''
  6.  
  7. '''
  8.  
  9. parser = optparse.OptionParser(usage=usage, version='%prog v0.2')
  10. parser.add_option('--path', dest='path', help='provided path to log dir.')
  11. #parser.add_option('--', dest='', help='')
  12.  
  13. (options, args) = parser.parse_args()
  14.  
  15. #
  16. # This function takes a top level path as argument then generates a file list with up to 1 deep nested directories.
  17. # Filenames containing only numbers are not added to this list
  18. # questions:
  19. # Will sorting lists prior to for loop make it run faster? initial time to scan buildbot logdirs: 23 minutes
  20. #
  21. def genFileList(path):
  22. startTime = time.time()
  23. filelistA = os.listdir(path)
  24. filelistB = list()
  25. filelistC = list()
  26. for file in filelistA:
  27. if not file.isdigit() and not os.path.isdir(os.path.join(path, file)):
  28. filelistB.append(os.path.join(path, file))
  29. if not file.isdigit() and os.path.isdir(os.path.join(path, file)):
  30. filelistC = os.listdir(os.path.join(path, file))
  31. for nestedfile in filelistC:
  32. if not nestedfile.isdigit() and not os.path.isdir(os.path.join(path, file, nestedfile)):
  33. filelistB.append(os.path.join(path, file, nestedfile))
  34. finishTime = time.time() - startTime
  35. print 'total run time: %s' % finishTime
  36. return filelistB
  37. # ------------- End function
  38.  
  39. #
  40. # get the last modification time in epoch and filesize
  41. #
  42. def getFileMtimeStat(filepath):
  43. if os.path.isfile(filepath):
  44. filemtime = time.localtime(os.stat(filepath).st_mtime)
  45. filesize = os.stat(filepath).st_size
  46. return filepath, filemtime, filesize
  47. # ------------- End function
  48.  
  49. if options.path:
  50. files = genFileList(options.path)
  51. fileInfo = [getFileMtimeStat(file) for file in files]
  52. fileInfo.sort()
  53.  
  54. for line in fileInfo:
  55. print line
  56. print len(fileInfo)

以上是关于以字节为单位获取文件mod time和size(python)的主要内容,如果未能解决你的问题,请参考以下文章

如何以 MB(兆字节)为单位获取文件的大小?

linux里文件以B还是KB还是什麽算大小的 postfix帮看一下

如何发现 std::vector 的大小/长度(以字节为单位)?

汇编 x86 从任何文件读取并转义所有特殊字符并以字节为单位获取文件大小

C++ std::string::size()函数(返回字符串的长度,以字节为单位)(与std::string::length()函数相同)

如何使用 PHP 和 GD 获取图像资源大小(以字节为单位)?