Я создала функцию, которая выгружает пользователей и соответствующие им группы пользователей в Линукс.
Организовала как два вложенных цикла. Т.е. для каждого пользовательского аккаунта выводится пользовательская группа в которой он состоит:

Мне необходимо изменить код так, чтобы выводились не все пользователи, а определенное число. Например, 5 пользователей и их группы. Помогите, пожалуйста? Пробовала применять for x in range(5). Не получается. Мой код ниже:
import pwd
import grp
def Option1 ():
count = 0
linesOfAccountsData=5 # это переменная в которой я храню количество нужных повторений
sortAccountsReverse = True
print("Getting account names and groups")
try:
writeFile = open("testFile.txt", "w")
writeFile.write("USER:" + '\t\t' + "GROUP:" + '\n\n')
allUsers = pwd.getpwall()
allUsersSorted = sorted(allUsers, reverse = sortAccountsReverse)
#print(allUsersSorted)
allGroups = grp.getgrall()
for user in allUsersSorted:
count +=1
userName = user.pw_name
#Get default group name
groupID = user.pw_gid
groupRecord = grp.getgrgid(groupID)
print(count, userName, groupRecord.gr_name)
writeFile.write(userName + ":" +'\n\t\t' + groupRecord.gr_name + '\n')
#Get other group membership
for group in allGroups:
#print(group.gr_mem)
if userName in group.gr_mem:
print("\t",group.gr_name)
writeFile.write('\n\t\t' + group.gr_name + '\n')
except:
print("Cannot write to a file")
finally:
writeFile.close()
Option1()
Организовала как два вложенных цикла. Т.е. для каждого пользовательского аккаунта выводится пользовательская группа в которой он состоит:

Мне необходимо изменить код так, чтобы выводились не все пользователи, а определенное число. Например, 5 пользователей и их группы. Помогите, пожалуйста? Пробовала применять for x in range(5). Не получается. Мой код ниже:
import pwd
import grp
def Option1 ():
count = 0
linesOfAccountsData=5 # это переменная в которой я храню количество нужных повторений
sortAccountsReverse = True
print("Getting account names and groups")
try:
writeFile = open("testFile.txt", "w")
writeFile.write("USER:" + '\t\t' + "GROUP:" + '\n\n')
allUsers = pwd.getpwall()
allUsersSorted = sorted(allUsers, reverse = sortAccountsReverse)
#print(allUsersSorted)
allGroups = grp.getgrall()
for user in allUsersSorted:
count +=1
userName = user.pw_name
#Get default group name
groupID = user.pw_gid
groupRecord = grp.getgrgid(groupID)
print(count, userName, groupRecord.gr_name)
writeFile.write(userName + ":" +'\n\t\t' + groupRecord.gr_name + '\n')
#Get other group membership
for group in allGroups:
#print(group.gr_mem)
if userName in group.gr_mem:
print("\t",group.gr_name)
writeFile.write('\n\t\t' + group.gr_name + '\n')
except:
print("Cannot write to a file")
finally:
writeFile.close()
Option1()