按字母顺序列出python目录和子目录

时间:2017-04-25 01:52:02

标签: python sorting directory

我是python的新手,我正在尝试按字母顺序列出我的文件

对于示例文件,它应该打印您在此处看到的内容:

>>> print_dir_contents (’sample’)
Contents of directory sample
4 files:
  file_1.txt
  file_2.txt
  file_3.txt
  file_4.txt
2 subdirectories:
  dir_1
dir_2

我确信这可以做到。

我已经编写了广泛的代码来打印目录文件的名称,但这不够具体:

 import os

 def print_dir_contents (string):
   for name in os.listdir (string):
    path = os.path.join (string, name)
if os.path.isfile(path):
   print (path)
else:
    print_dir_contents (path)

我猜测sort()将用于字母顺序。而且我猜这应该相当快。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

import os
def print_dir_contents (string):
    Dir=[]
    File=[]
    print("Contents of directory {}".format(string))
    if not os.path.exists(string):
        print("Directory not found")
        return
    for name in os.listdir(string): 
        path= os.path.join (string, name)   
        if os.path.isfile(path):
            File.append(name)
        else:
            Dir.append(name)
    print("{} files".format(len(File)))
    for x in sorted(File):
        print('-->'+x)
    print("{} subdirectories".format(len(Dir)))
    for x in sorted(Dir):
        print('-->'+x)

print_dir_contents('Sample')