我有一个我无法解决的作业:(
我必须使用os
和os.path
。
我必须编写一个程序,要求您提供一个目录,但如果您没有输入任何内容,该目录是当前工作目录,那么它会按字母顺序打印所有文件的扩展名。
程序应该这样工作:
目录:/Users/Andrew/Desktop
.ai
.docx
.jpg
.png
.py
.rar
.zip
我必须编写一个程序,再次询问你一个目录,但如果你没有输入任何东西,目录是当前的工作目录,那么它打印按字母顺序排列的所有文件的扩展名,但这次它应画一条线对于每种文件类型,并列出具有适当扩展名的文件。
目录:/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)
要对文件扩展名进行排序,您需要将它们添加到列表中,然后使用sorted()
对列表进行排序。
要跳过文件夹,您需要检查通过文件列表的for循环中的文件。您可以使用isfile()
。