Я пишу создателя турнира для игры, в которой ее нет, только для личного использования. Это хорошее упражнение для школы ... однако, я наткнулся на проблему, закончив программу.Как преобразовать строку в файл обратно в список в Python?
Итак, после того, как участники турнира были решено, я спрашиваю у пользователя (сам, мой кузен тоже самое, если он подходит), если он хочет сохранить текущий список участников. Если да, то список, содержащий участников будет записано в файл:
fileWrite = open('Previous Participants', 'w')
fileWrite.write(str(participants2))
fileWrite.close()
однако, это преобразовывает список в строку, так что, если я хочу, чтобы прочитать его в следующий раз, когда программа запускается ... Я есть строка. Не список, и мне нужен список самого создателя турнира (рандомизация боев и т. Д.).
Итак ... как мне вернуть эту строку в виде списка? Проблема в том, что я могу использовать split, я думаю, но я считаю, что имена участников с пробелами были бы проблемой.
В настоящее время файл имеет следующую строку в прошлый раз:
['Cell', 'Lord Slug', 'Time Patroller', 'Gotenks', 'Omega Shenron', 'Nail', 'Time Breaker Bardock', 'Piccolo', 'Frieza', 'Mr. Satan', 'Beerus', 'Nappa', 'Raspberry', 'Goten', 'Vegito', 'Goku']
Участники, как «Lord слизняк» вызовет проблемы, если я:
ownCharacters = input('Do you wish to use the same participants as last time? ')
if ownCharacters == 'yes' or ownCharacters == 'Yes':
try:
fileRead = open('Previous Participants', 'r')
participants2 = fileRead.read()
participants2.split
except FileNotFoundError:
participants2 = participants2
не будут ли они? Участники BTW2 уже заполнены случайными именами, когда программа достигает этой точки, поэтому, если файл не существует, он должен продолжать использовать случайные имена.
Почему бы не использовать что-то вроде 'outputnames = ','. Join (участники2)' перед записью в файл, сделав его CSV. вы можете изменить, любому персонажу, который вы запрещаете в именах – jeremycg