查找目录中的所有扩展名并按字母顺序排序

时间:2012-10-27 13:50:59

标签: python

我有一个我无法解决的作业:(

我必须使用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
    
  3. 我们将不胜感激。

    这是我尝试解决第一个问题:

    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])
    

    我终于做了第一次任务,但我无法解决第二次任务。我真的需要帮助。

    谢谢

1 个答案:

答案 0 :(得分:2)

要对文件扩展名进行排序,您需要将它们添加到列表中,然后使用sorted()对列表进行排序。

要跳过文件夹,您需要检查通过文件列表的for循环中的文件。您可以使用isfile()