Как сделать несколько списков из файла? - PullRequest
1 голос
/ 28 марта 2020

Я использую этот код для создания ярлыков в tkinter. После нажатия на них текст из list1 изменится на текстовую форму list2 . Я хочу добавить текст в списки из текстового файла.

self.list1 = [line.rstrip('\n') for line in open("file.txt", encoding = "utf-8")]
self.list2 = [line.rstrip('\n') for line in open("file2.txt", encoding = "utf-8")]

Нужно ли создавать для каждого списка один текстовый файл? (Как) я могу сделать несколько списков из одного файла?

Спасибо

1 Ответ

2 голосов
/ 28 марта 2020
def from_file_to_lists(name,lists): #Where lists[0] = list1, lists[1] = list2 etc
    i = 0
    for line in open(name, encoding = "utf-8"):
        line = line.rstrip('\n')
        if "line%s" % (i+1) in line: #if next list in line
            i +=1  #go to next list
            continue #dont write list name inside the list
        lists[i].append(line)
    return lists

#How to call
list0 = []
list1 = []
list2 = []
lists = [list0,list1,list2]
lists = from_file_to_lists("file.txt",lists)

Ваш файл file.txt должен выглядеть следующим образом:

Hello i
am list0
list1
Hello, i am
the second list
list2
i am the last

Нумерация списка в текстовом файле должна начинаться с 0, в противном случае изменить

if "line%s" % (i+1) in line:

до if "line%s" % (i+2) in line:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...