import json # 假设数据文件名为 'betting_data.txt',每行为一个时间戳和JSON数据 file_path = '分析开奖记录.log' index = 0 total_payout_by_bet_odd = 0 total_payout_by_settle = 0 bet_101 = 0 bet_102 = 0 options_pay_out = {} def process_settle(key, data): global total_payout_by_settle, total_payout_by_bet_odd player_settle = data["playerSettle"] for player in player_settle: total_payout_by_settle += player["totalWinAmount"] other_players = data["otherPlayers"] total_payout_by_settle += other_players["totalWinAmount"] # 开奖结果 for result in data["optionResult"]: if result["result"] == 1: total_payout_by_bet_odd += options_pay_out[result["option"]] def compare_obb_and_settle(key, data): global total_payout_by_settle, total_payout_by_bet_odd diff_value = (total_payout_by_settle - total_payout_by_bet_odd) / 100 diff_value = round(diff_value, 2) if diff_value != 0: print( f"{key} odd结果:{total_payout_by_bet_odd} 开奖结果:{total_payout_by_settle} 差值:{diff_value}¥ 数值不同不予计入") else: # print(f"{key} odd结果:{total_payout_by_bet_odd} 开奖结果:{total_payout_by_settle} 差值:{diff_value}¥") pass def clear(): global bet_101, bet_102, total_payout_by_bet_odd, total_payout_by_settle bet_101 = 0 bet_102 = 0 total_payout_by_bet_odd = 0 total_payout_by_settle = 0 options_pay_out.clear() def parse_data_from_file(file_path): global index with open(file_path, 'r', encoding='utf-8') as file: for line in file: # print(line) line_strip = line.strip() line_strip = line_strip.replace("'", '"') line_strip = line_strip.replace("False", "false") line_strip = line_strip.replace("True", "true") timestamp = line_strip[:19] json_data = line_strip[20:] key = timestamp data = json.loads(json_data) if index % 2 == 0: process_obb(key, data) else: process_settle(key, data) compare_obb_and_settle(key, data) clear() index += 1 def process_obb(key, data): global total_payout_by_bet_odd, bet_101, bet_102 for item in data.values(): option_ = item["option"] odds_ = item["odds"] bet_ = item["total_bet"] odds__bet_ = odds_ * bet_ options_pay_out[option_] = round(odds__bet_, 2) if option_ == 101: bet_101 = bet_ elif option_ == 102: bet_102 = bet_ elif option_ == 103: options_pay_out[option_] = bet_101 + bet_102 # 开始解析文件 if __name__ == '__main__': parse_data_from_file(file_path)