Aug-20-2017, 07:03 AM
When I run the following code I get the following output instead of the file's text:
List of children's names in the whatever group in alphabetical order: <_io.TextIOWrapper name='whatever.txt' mode='a' encoding='cp1252'>
from easygui import*
I run the script and using the buttonboxes I register children and create groups. I then add children to the groups using choiceboxes. The problem then arises when I use the 'List of children in each group' option and I don't know what's causing it nor how to fix it. Any help will be very much appreciated.
I'm using Pycharm on a Win7os.
List of children's names in the whatever group in alphabetical order: <_io.TextIOWrapper name='whatever.txt' mode='a' encoding='cp1252'>
from easygui import*
I run the script and using the buttonboxes I register children and create groups. I then add children to the groups using choiceboxes. The problem then arises when I use the 'List of children in each group' option and I don't know what's causing it nor how to fix it. Any help will be very much appreciated.
I'm using Pycharm on a Win7os.
from easygui import*
def register_child():
enter1 = enterbox(msg="Enter the child's first name.", title=' ', default='',
strip=True, image=None, root=None)
if enter1 is None:
main()
return
else:
while enter1 == "" or enter1.isalpha() == False:
enter1 = enterbox(msg="Invalid entry. Please enter the child's first name using letters only.",
title=' ', default='', strip=True, image=None, root=None)
enter2 = enterbox(msg="Enter the child's last name.", title=' ', default='',
strip=True, image=None, root=None) # ask user to enter child's first name
if enter2 is None:
main()
return
else:
while enter2 == "" or enter2.isalpha() == False:
enter2 = enterbox(msg="Invalid entry. Please enter the child's last name using letters only.",
title=' ', default='', strip=True, image=None,
root=None)
child_name = (enter1 + " " + enter2).title()
file = open("Children.txt", 'a')
file.write(child_name + "\n")
file.close()
register_more_child = ccbox("Would you like to register another child?", "Please choose an option.")
if register_more_child == 1:
register_child()
return
elif register_more_child == 0:
main()
return
def list_children():
file = open("Children.txt", 'r') # open the Children.txt file
lineList = file.readlines()
lineList.sort() # sort the list alphabetically
# display the list
print("List of children's names in alphabetical order:")
for line in lineList:
print(line, end="")
file.close()
main()
def list_groups():
file = open("Groups.txt", 'r') # open the Children.txt file
lineList = file.readlines()
lineList.sort() # sort the list alphabetically
# display the list
print("List of groups' names in alphabetical order:")
for line in lineList:
print(line, end="")
file.close()
main()
return
def children_in_group():
file = open("Groups.txt", 'r')
lineList = [line.strip() for line in file]
choice = choicebox("Which group would you like to display?", "Choose a group.",
choices=(lineList))
file.close()
file1 = open('%s.txt' % choice, 'r')
line_list = file1.readlines()
line_list.sort() # sort the list alphabetically
# display the list
print("List of children's names in the " + choice + " group in alphabetical order:")
for line in line_list:
print(line, end="")
file1.close()
main()
return
def add_child_to_group():
file = open("Children.txt", 'r') # open the Children.txt file
lineList = file.readlines()
file.close()
# lineList.sort()
choice1 = choicebox('Choose a child to enter into a group.', 'Add child to a group. ', choices=lineList)
if choice1 is None:
main()
return
else:
file = open("Groups.txt", 'r')
lineList = [line.strip() for line in file]
choice2 = choicebox("Which group would you like to add the children to?", "Choose a group.",
choices=lineList)
file.close()
file1 = open('%s.txt' % choice2, 'a')
file1.write(choice2 + "\n")
file1.close()
add_more_children_to_groups = ccbox("Would you like to add another child to a group?",
"Please choose an option.")
if add_more_children_to_groups == 1:
add_child_to_group()
return
elif add_more_children_to_groups == 0:
main()
return
def create_group():
enter = enterbox(msg="Enter the group's name.", title='Create Group ')
file = open("Groups.txt", 'a')
file.write(enter + "\n")
file.close()
file = open('%s.txt' % enter, 'w')
file.close()
more_groups = ccbox("Would you like to create another group?", "Please choose an option.")
if more_groups == 1:
create_group()
return
else:
main()
return
def children_menu():
title2 = "Children."
children_menu = ["1: Register a child.", "2: List of registered children."]
button = buttonbox("Choose an option", title2, choices=children_menu)
if button == children_menu[0]:
register_child()
if button == children_menu[1]: # user chooses option 2 from the Children menu:
list_children()
def group_menu():
title3 = "Groups."
groups_menu = ["1: Create a group.", "2: List of groups.", "3: Add a child to a group.",
"4: List of children in each group."]
button = buttonbox("Choose an option", title3, choices=groups_menu)
if button == groups_menu[0]:
create_group()
if button == groups_menu[1]:
list_groups()
if button == groups_menu[2]:
add_child_to_group()
if button == groups_menu[3]:
children_in_group()
def main():
title1 = "Main menu."
main_menu = ["1: Children", "2: Groups", "3: Educators", "4: Tags", "5: Cancel"]
button = buttonbox("Choose an option", title1, choices=main_menu)
if button == main_menu[0]:
children_menu()
elif button == main_menu[1]:
group_menu()
elif button == main_menu[2]:
title4 = "Educators."
educator_menu = ["1: Register an educator.", "2: List of registered educators."]
button = buttonbox("Choose an option", title4, choices=educator_menu)
elif button == main_menu[3]:
button = "4"
title4 = "Tags."
tags_menu = ["1: Create tags", "2: List of tags."]
button = buttonbox("Choose an option", title4, choices=tags_menu)
else:
print("You cancelled.")
return
main()
