実現したいこと
ベースとカレントの2つのリストを比較し差分があればprintし、ベースリストを更新(カレントリストと同じにする)したいのですがエラーがでてしまいます。
再起動等でベースリストが空の場合はファイルから取り込んでおり、その後はループしています。
base_stock = copy.copy(current_stock)
この1行をなくせばエラーはなくなるので悪さしているのはここと推測していますが全く理由がわからない状態です。
発生している問題・エラーメッセージ
base_stock.append(k) UnboundLocalError: local variable 'base_stock' referenced before assignment
該当のソースコード
base_stock = [] current_stock = [] async def main(current_stock): # もしリストが空の時(再起動等のとき) if any(base_stock) == False: # ベースデータの読み込み with open("is_stock.txt", mode='r', encoding='utf-8') as f: #base_stock = f.read().splitlines() for k in f.read().splitlines(): base_stock.append(k) # 差分を取得 print(base_stock) diff_list = set(base_stock) ^ set(current_stock) # もし差分があった場合 if any(diff_list) == True: # 差分リストをループ処理 for title in diff_list: # 差分アイテムがベースデータにあるかどうか if title in base_stock: print(title + "はベースにあってカレントにない") else: print(title + "はカレントにあってベースにない") # ベースデータを更新 #base_stock = current_stock.copy() base_stock = copy.copy(current_stock) else: print("変更なし") #base_stock = copy.copy(current_stock)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。