如何在listdir中获取不同的文件?

时间:2014-01-30 01:59:02

标签: python

我似乎只能找到整个目录的“getsize”,而不是目录< = 64字节中的单个文件。任何想法或建议都会非常感谢,谢谢!

这是我的剧本:

#argument is directory path

import os, sys 

myDir = sys.argv[1]
myFiles = os.listdir(myDir)

for eachOne in myFiles:
    size = os.path.getsize(myFiles)
    if size <= "64":
       print "{0} is {1} bytes.".format(eachOne, size)

目标是打印出文件名为XX字节。

1 个答案:

答案 0 :(得分:1)

这里有三个问题:

  1. 您需要提供os.path.getsize eachOne而不是myFiles

  2. os.path.getsize返回一个整数。意思是,您需要将size与另一个整数进行比较,而不是字符串。

  3. 您需要使用os.path.joinos.path.getsize提供文件的完整路径。否则,Python将不知道文件的位置。

  4. 以下是解决了这些问题的脚本版本:

    import os, sys 
    
    myDir = sys.argv[1]
    myFiles = os.listdir(myDir)
    
    for eachOne in myFiles:
        size = os.path.getsize(os.path.join(myDir, eachOne))
        if size <= 64:
           print "{0} is {1} bytes.".format(eachOne, size)