小编Ji *_*ang的帖子

如何在Python中获取当前目录中的所有文件名和文件大小

嗨,我正在处理一个小脚本。我尝试打印的所有文件在当前目录中并存储filename:filesizekey: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

2
推荐指数
1
解决办法
6055
查看次数

标签 统计

python ×1