File tree Expand file tree Collapse file tree 1 file changed +16
-9
lines changed
implement-shell-tools/cat Expand file tree Collapse file tree 1 file changed +16
-9
lines changed Original file line number Diff line number Diff line change 11import sys
2+ import argparse
23
34def cat_file (filename , flag ):
45 try :
@@ -24,19 +25,25 @@ def cat_file(filename, flag):
2425 print (f"cat: { filename } : No such file or directory" , file = sys .stderr )
2526
2627def main ():
27- args = sys . argv [ 1 :]
28+ parser = argparse . ArgumentParser ( description = "Simple cat clone" )
2829
29- flag = False
30-
31- if "-n" in args :
30+ parser .add_argument ("filenames" , nargs = "+" ,
31+ help = "Files to display" )
32+ parser .add_argument ("-n" , action = "store_true" ,
33+ help = "Number all output lines" )
34+ parser .add_argument ("-b" , action = "store_true" ,
35+ help = "Number non-blank output lines" )
36+
37+ args = parser .parse_args ()
38+
39+ flag = False
40+ if args .n :
3241 flag = "-n"
33- args .remove ("-n" )
34- elif "-b" in args :
42+ elif args .b :
3543 flag = "-b"
36- args .remove ("-b" )
3744
38- for filename in args :
45+ for filename in args . filenames :
3946 cat_file (filename , flag )
4047
4148if __name__ == "__main__" :
42- main ()
49+ main ()
You can’t perform that action at this time.
0 commit comments