added
This commit is contained in:
63
Dienstag/User_modify.py
Normal file
63
Dienstag/User_modify.py
Normal file
@@ -0,0 +1,63 @@
|
||||
#! /usr/bin/env python3
|
||||
def read_file(path: str) -> "List of lines":
|
||||
#f = open(path, 'r')
|
||||
with open(path, 'r') as f:
|
||||
# f.read(buflen) - binary read
|
||||
# f.readline() - 1 Textzeile lesen -> str
|
||||
# f.readlines - alle Textzeilen lesen ->str
|
||||
# f ist gleichzeitig Iterator
|
||||
# 1 möglichkeit
|
||||
#lines = list(map(lambda s : s.rstrip(), f))
|
||||
# 2 möflichkeit
|
||||
lines = list(map(str.rstrip, f))
|
||||
# 3 möglichkeit
|
||||
#lines = []
|
||||
#for line in f.readlines():
|
||||
# lines.append(line.rstrip())
|
||||
#f.close()
|
||||
return lines
|
||||
|
||||
def parse_passwd_lines(line: str) -> "Dict of passwd details":
|
||||
parts = line.split(':')
|
||||
userdict = {
|
||||
"username" : parts[0],
|
||||
"uid" : parts[2],
|
||||
"gid" : parts[3],
|
||||
"gecos" : parts[4],
|
||||
"home" : parts[5],
|
||||
"shell": parts[6]
|
||||
}
|
||||
return userdict
|
||||
|
||||
def build_userlist(lines) -> "List of user dicts":
|
||||
result = []
|
||||
for line in lines:
|
||||
result.append(parse_passwd_lines(line))
|
||||
return result
|
||||
|
||||
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'],
|
||||
user['home'],
|
||||
user['shell']
|
||||
)
|
||||
|
||||
def print_userlist_sorted_by_uid(userlist):
|
||||
pass
|
||||
|
||||
def main():
|
||||
output_functions = {
|
||||
'username': print_userlist_sorted_by_username,
|
||||
'uid': print_userlist_sorted_by_uid,
|
||||
}
|
||||
outfunc = output_functions['username']
|
||||
lines = read_file("/etc/passwd")
|
||||
userlist = build_userlist(lines)
|
||||
outfunc(userlist)
|
||||
|
||||
|
||||
main()
|
||||
@@ -11,4 +11,12 @@ map
|
||||
Wir können die integrierte Python-Funktion map() verwenden, um für jedes Element in einer Iterablen (wie einer Liste oder einem Wörterbuch) eine Funktion anzuwenden und einen neuen Iterator zum Abrufen der Ergebnisse zurückgeben. map() gibt ein map-Objekt (einen Iterator) zurück, das wir in anderen Teilen unseres Programms nutzen können. Außerdem können wir das map-Objekt an die Funktion list() oder einen anderen Sequenztyp übergeben, um eine Iterable zu erstellen.
|
||||
|
||||
numbers = [10, 15, 21, 33, 42, 55]
|
||||
mapped_numbers = list(map(lambda x: x * 2 + 3, numbers))
|
||||
mapped_numbers = list(map(lambda x: x * 2 + 3, numbers))
|
||||
|
||||
rstrip schneidet \n ab
|
||||
|
||||
schneidet hinten was ab bei einem String
|
||||
|
||||
|
||||
|
||||
mit helpdir
|
||||
Reference in New Issue
Block a user