द्वारा क्रमबद्ध करें मैं एक प्रोग्राम लिखने की कोशिश कर रहा हूं जो कमांड लाइन तर्क लेता है, तर्क द्वारा प्रदान की गई निर्देशिका पेड़ के माध्यम से स्कैन करता है और निर्देशिका में प्रत्येक फ़ाइल की एक सूची बनाते हैं, और फिर सॉर्टिंग फाइलों की लंबाई से।निर्देशिका तर्क से फ़ाइलें प्राप्त करें, आकार
मैं एक स्क्रिप्ट-पुरुष के ज्यादा नहीं कर रहा हूँ - लेकिन इस मैं क्या मिल गया है और यह काम नहीं कर रहा:
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 मैंने अपना कोड अपडेट किया है, लेकिन यह अभी भी मुझे एक त्रुटि दे रहा है। –