|
123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import sys
- import os
-
- def parse_args(args):
- options = Options()
- if "-l" in args:
- options.show_modification_time= True
- return options
-
- class Options:
- def __init__(self):
- self.show_modification_time = False
-
- class Entry:
- def __init__(self,name):
- self.name=name
- self.is_directory=False
- self.mtime=0
-
- def get_entries():
- names = os.listdir(".")
- for name in names:
- entry = Entry(name)
- entry.mtime = os.stat(name).st_mtime
- yield entry
-
- def list_entries(entries,options):
- for entry in entries:
- if options.show_modification_time :
- yield f"{entry.name} {entry.mtime}"
- else:
- yield entry.name
-
- def main():
- options=parse_args(sys.argv)
- entries = get_entries()
- lines = list_entries(entries,options)
- for line in lines:
- print(line)
-
- if __name__=="__main__":
- main()
|