2012-10-27 3 views
1

У меня есть домашнее задание, которое я не могу решить :(Найти все расширения в каталоге и заказать их по алфавиту

я должен использовать os и os.path.

  1. Я должен написать программа, которая запрашивает у вас каталог, но если вы не вводите ничего, то каталог является текущим рабочим каталогом, затем он печатает все расширения файлов, упорядоченные по алфавиту.

    Программа должна работать следующим образом:

    Каталог: /Users/Andrew/Desktop

    .ai 
    .docx 
    .jpg 
    .png 
    .py 
    .rar 
    .zip 
    
  2. Я должен написать программу, которая снова просит вас директорию, но если вы этого не сделаете вход ничего каталог является текущим рабочим каталогом, то он печатает расширения всех файловых приказало в алфавитном порядке, но на этот раз он должен нарисовать строку для каждого типа файлов и перечислить файлы с соответствующим расширением.

    Каталог: /Users/Andrew/Desktop

    .ai 
    ---------- 
    cat.ai 
    
    .docx 
    ---------- 
    Job application.docx 
    
    .png 
    ---------- 
    Screen Shot1.png 
    Untitled-1.png 
    
    .py 
    ---------- 
    1.py 
    2.py 
    4.py 
    5.py 
    6.py 
    
    .xls 
    ---------- 
    PlanB.xls 
    Tommorow.xls 
    

Ваша помощь будет оценена.

Это моя попытка решить первую проблему:

import os 

directory=input("Directory:") 

if directory: 
    files=os.listdir(directory) 
else: 
    files=os.listdir(os.getcwd()) 


for filetypes in files: 
    print(os.path.splitext(filetypes)[1]) 

я, наконец, сделал первое задание, но я не могу решить вторую. Мне действительно нужна помощь.

Спасибо

+0

Помогите нам помочь вам, разместив то, что вы пробовали, чтобы мы могли провести вас; тем более, что это домашнее задание. Если бы мы только что дали вам решение, вы не поймете многое. С какой конкретной проблемой вы столкнулись? –

+2

Извините, но я собираюсь голосовать, чтобы закрыть это как слишком локализованное. Искусственные ограничения домашнего задания делают это одноразовым, и это не будет полезно никому другому. –

+1

Возможно, вы путаете этот сайт с 'DoMyHomwork.com'. Пожалуйста, задавайте особые вопросы, связанные с вещами, которые были отмечены или не поняли, в то время как «ЭФФЕКТИВНО пытаюсь выполнить задачу самостоятельно». – mjv

ответ

2

Для сортировки расширений файлов, вам необходимо добавить их в список, а затем отсортировать список с помощью sorted().

Чтобы пропустить папки, вам необходимо проверить файлы в цикле for, который проходит через список файлов. Вы можете использовать для этого isfile().

Смежные вопросы