对于在目录中具有文件大小的txt,我正在尝试打印文件从阈值(20Mb)起以较小大小显示的行。我的代码看起来像

comp = 200000000

with open("files.txt") as f:
    for line in f:
       parts = line.split(  ) # split line into parts
       sz=parts[4]
       if ( sz < comp ):
          print parts[4], parts[8]  # print column 2


问题是,尽管我有记录

-rw-rw-r--   2 user zh          22088417  May 28 19:51 test_file.gz


代码无法捕获它。我怀疑python比较大数是否有些失败?有任何想法吗 ?

谢谢

最佳答案

您可能将字符串与整数进行比较。请将sz转换为整数:

sz = int(parts[4])


或者,如果您想要浮动,则可以执行以下操作:

sz = float(parts[4])

关于python - 比较大量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30591136/

10-12 16:47