diff --git a/Dienstag/User_modify.py b/Dienstag/User_modify.py index 8a71c0b..fac5aae 100644 --- a/Dienstag/User_modify.py +++ b/Dienstag/User_modify.py @@ -21,8 +21,9 @@ def parse_passwd_lines(line: str) -> "Dict of passwd details": parts = line.split(':') userdict = { "username" : parts[0], - "uid" : parts[2], - "gid" : parts[3], + "uid" : int(parts[2]), + "gid" : int(parts[3]), + "realname" : parts[4].split(',')[0], "gecos" : parts[4], "home" : parts[5], "shell": parts[6] @@ -38,23 +39,33 @@ def build_userlist(lines) -> "List of user dicts": def print_userlist_sorted_by_username(userlist): #ruft für jedes Element key(elem) also e im Lambda-Ausdruck ist ein Element der Liste user dict for user in sorted(userlist, key=lambda e: e['username'].lower()): - print( - user['username'], - user['uid'], - user['gecos'], + print("{:5} {:32} {}".format( + user['uid'], + user['username'], + user['realname'], user['home'], user['shell'] + ) ) def print_userlist_sorted_by_uid(userlist): - pass - + for user in sorted(userlist, key=lambda e: e['uid']): + print( "{:5} {:32} {}".format( + user['uid'], + user['username'], + user['realname'], + user['home'], + user['shell'] + ) + ) def main(): output_functions = { 'username': print_userlist_sorted_by_username, 'uid': print_userlist_sorted_by_uid, + } outfunc = output_functions['username'] + outfunc = output_functions['uid'] lines = read_file("/etc/passwd") userlist = build_userlist(lines) outfunc(userlist) diff --git a/Readme.md b/Readme.md index fab4891..af9cff6 100644 --- a/Readme.md +++ b/Readme.md @@ -17,6 +17,4 @@ rstrip schneidet \n ab schneidet hinten was ab bei einem String - - -mit helpdir \ No newline at end of file +list \ No newline at end of file