你好,我正在使用一个小脚本。我试图打印出当前目录中的所有文件,并将文件名:文件大小
作为键:值
对存储到size_dir
中。
from os import listdir,environ
from sys import argv
from os.path import isfile,join
import os
size_limit = argv[1]
my_path = "./"
onlyfiles = [f for f in listdir(my_path) if isfile(join(my_path, f))]
sizes = []
size_dir = {}
print size_limit
for item in onlyfiles:
print type(os.path.getsize(my_path+item))
if os.path.getsize(my_path+item) < size_limit:
size_dir[item] = os.path.getsize(my_path+item)
print(size_dir)
我通过以下方式在我的终端中运行此程序:
python THISFILENAME.py 300
正如我所预期的那样,size_limit从我的输入命令中接收到了300。在for循环中,我设置了一个if语句来检查文件是否超过了size_limit,如果没有超过,那么我们就将该文件添加到size_dir中。 然而,当我打印出size_dir时,我发现size_dir包含了我当前目录中的每个文件,这不是我期望的结果。
{'dir_print.py': 825, 'argvdemo.py': 215, 'formatter.py': 404}
任何帮助都是可贵的。
size_limit
不应该是argv[2]
吗?我认为argv[0]
是命令本身,然后argv[1]
是第一个参数。 - ASCIIThenANSI