Я борюсь с этой проблемой, которая выглядит просто, но я застрял! Ну, я должен построить функцию, где я получаю список категорий, такие как:Python: Сравнить список со списком в файле
input Example1: ['point_of_interest', 'natural_feature', 'park', 'establishment']
input Example2: ['point_of_interest', 'establishment']
input Example3: ['sublocality', 'political']
Так что список может быть с переменными элементами внутри я думаю, от 1 до 4 не более
Так что с этими же данными Я создам файл с этим вводом таким образом, чтобы , если новый вход не находится в файле, добавьте его в файл.
Путь каждый из них - это сам элемент, я имею в виду, что мне нужно сравнить полные элементы списка, и если я найду другой список точно равным, я не должен его добавлять.
В моем коде я просто попытался добавить первый элемент в файл, потому что на самом деле я не знаю, как добавить полный список для сравнения со следующим списком.
def categories(category):
number = 0
repeat = False
if os.path.exists("routes/svm/categories"):
with open('routes/svm/categories', 'rb') as csvfile:
spamreader = csv.reader(csvfile)
for categoryFile in spamreader:
if (cmp(categoryFile,category) == 0):
number += 1
repeat = True
if not repeat:
categoriesFile = open('routes/svm/categories', 'a')
category = str(category[0])
categoriesFile.write(category)
categoriesFile.write('\n')
categoriesFile.close()
else:
categoriesFile = open('routes/svm/categories', 'w')
category = str(category[0])
categoriesFile.write(category)
categoriesFile.write('\n')
categoriesFile.close()
EDIT: Некоторые пояснения по @KlausWarzecha: Пользователи могли бы войти в список с (около 4) пунктов. Если этот список (= эта комбинация элементов) уже не находится в файле, вы хотите добавить в файл список (а не элементы отдельно!)? -
Почему вы не можете просто написать все элементы по одному в файл? Твой вопрос трудно понять для меня –
@MichaelButscher я получил список в своих функциях, мне нужно сравнить со списком, который у меня есть в файле, этот новый список отсутствует в файле, который я должен добавить, в основном это проблема. извините за мой английский – taonico
Ваш вопрос очень трудно понять. – Dropout