単純に見えるこの問題に苦労していますが、行き詰まっています! さて、次のようなカテゴリのリストを受け取る関数を作成する必要があります。
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()
編集: @KlausWarzecha によるいくつかの説明: ユーザーは (約 4) 項目のリストを入力する場合があります。このリスト (= このアイテムの組み合わせ) がファイルにまだない場合、リスト (アイテムを個別にではなく!) をファイルに追加しますか? –</p>