0

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

我必须使用osand 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])

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

谢谢

4

1 回答 1

2

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

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

于 2012-10-27T14:11:43.407 回答