added more
This commit is contained in:
43
read_all_user/main.py
Normal file
43
read_all_user/main.py
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/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 build_userlist(lines) -> "List of user dicts":
|
||||
result = []
|
||||
for line in lines:
|
||||
result.append(parse_passwd_lines(line))
|
||||
return result
|
||||
|
||||
def parse_passwd_lines(line: str) -> "Dict of passwd details":
|
||||
parts = line.split(':')
|
||||
userdict = {
|
||||
"username": parts[0],
|
||||
"uid": int(parts[2]),
|
||||
"gid": int(parts[3]),
|
||||
"realname": parts[4].split(',')[0],
|
||||
"gecos": parts[4],
|
||||
"home": parts[5],
|
||||
"shell": parts[6]
|
||||
}
|
||||
return userdict
|
||||
|
||||
|
||||
test = read_file("/etc/passwd")
|
||||
userlist = [i['username'] for i in build_userlist(test)]
|
||||
print(userlist)
|
||||
Reference in New Issue
Block a user