File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ import argparse
2+ import os
3+
4+
5+ def get_files (directory ):
6+ files = os .listdir (directory )
7+ files .extend (["." , ".." ])
8+ files .sort (key = str .lower )
9+ return files
10+
11+
12+ def display_files (files , show_all = False , one_per_line = False ):
13+ if not show_all :
14+ files = [f for f in files if not f .startswith ("." )]
15+
16+ if one_per_line :
17+ for file in files :
18+ print (file )
19+ else :
20+ print (" " .join (files ))
21+
22+
23+ parser = argparse .ArgumentParser ()
24+ parser .add_argument ("directory" , nargs = "?" , default = "." )
25+ parser .add_argument ("-1" , dest = "one_per_line" , action = "store_true" , help = "list one file per line" )
26+ parser .add_argument ("-a" , dest = "show_all" , action = "store_true" , help = "include hidden files" )
27+
28+ args = parser .parse_args ()
29+
30+ try :
31+ files = get_files (args .directory )
32+ display_files (files , show_all = args .show_all , one_per_line = args .one_per_line )
33+ except OSError as e :
34+ print (f"ls: { e } " )
You can’t perform that action at this time.
0 commit comments