2012-10-27 75 views
1

我有一門功課,我是無法解決:(查找的目錄和訂單的所有分機按字母順序

我必須使用osos.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()