Я пытаюсь написать программу, которая принимает аргумент командной строки, просматривает дерево каталогов, предоставленное аргументом, и создает список всех файлов в каталоге, а затем сортирует по длине файлов.Получить файлы из Аргумента Directory, Сортировка по размеру
Я не так много сценариев-парень, - но это то, что у меня есть, и это не работает:
import sys
import os
from os.path import getsize
file_list = []
#Get dirpath
dirpath = os.path.abspath(sys.argv[0])
if os.path.isdir(dirpath):
#Get all entries in the directory
for root, dirs, files in os.walk(dirpath):
for name in files:
file_list.append(name)
file_list = sorted(file_list, key=getsize)
for item in file_list:
sys.stdout.write(str(file) + '\n')
else:
print "not found"
Может кто-нибудь мне точку в правильном направлении?
Я предлагаю прочитать справку для функции [ 'о s.walk'] (http://docs.python.org/2/library/os.html#os.walk). Кажется, это правильный выбор для работы с деревьями каталогов. Если вы посмотрите на пример этой функции, вы увидите, что вы на хорошем пути ... – koffein
Я думаю, что ваша предыдущая строка не нужна. на самом деле эта строка вызывает ошибку ... – koffein
@koffein Я обновил свой код, но он все еще дает мне ошибку. –