嗨,我正在处理一个小脚本。我尝试打印的所有文件在当前目录中并存储filename:filesize为key:value成对的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)
Run Code Online (Sandbox Code Playgroud)
我通过以下方式在终端中运行此程序:
python THISFILENAME.py 300
Run Code Online (Sandbox Code Playgroud)
正如我所料,size_limit 从我的输入命令中收到了 300。在 for 循环中,我设置了一个 if 语句来检查文件是否超过 size_limit,如果没有,则将文件添加到 size_dir。但是,当我打印 size_dir 时,我发现 size_dir 包含我当前目录中的每个文件,这不是我所期望的。
结果:
{'dir_print.py': 825, 'argvdemo.py': …Run Code Online (Sandbox Code Playgroud) python ×1