From 8bfdc52b40b4456a5a29e4502cce5865be8ef439 Mon Sep 17 00:00:00 2001
From: admin <admin@example.com>
Date: 星期五, 05 九月 2025 18:17:15 +0800
Subject: [PATCH] bug修复

---
 log_module/log_export.py |  260 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 246 insertions(+), 14 deletions(-)

diff --git a/log_module/log_export.py b/log_module/log_export.py
index b916c31..62b85f2 100644
--- a/log_module/log_export.py
+++ b/log_module/log_export.py
@@ -1,5 +1,6 @@
 import datetime
 import hashlib
+import json
 import logging
 import os
 import time
@@ -32,7 +33,9 @@
 def __get_async_log_time(line):
     line = line.split(" - ")[1]
     time_str = line[line.find("[") + 1:line.find("[") + 9]
-    return time_str
+    if time_str.replace(":", "").replace(".", "").isdigit():
+        return time_str
+    return None
 
 
 __log_file_contents = {}
@@ -53,7 +56,8 @@
     return contents
 
 
-def load_market_stock_heat(date=tool.get_now_date_str()):
+# 鍔犺浇鏉垮潡寮哄害鏃ュ織
+def load_market_sift_plate(date=tool.get_now_date_str()):
     """
      鑾峰彇绮鹃�夋祦鍏ョ殑鎴愬垎鑲�
     :param date:
@@ -66,11 +70,9 @@
             lines = f.readlines()
             for line in lines:
                 if line:
-                    time_str = __get_async_log_time(line)
+                    time_str = __get_log_time(line)
                     try:
                         data = line.split(" - ")[1].strip()
-                        if data.startswith("["):
-                            data = data[data.find("]") + 1:].strip()
                         data_dict = eval(data)
                         fdatas.append((time_str, data_dict))
                     except:
@@ -78,7 +80,8 @@
     return fdatas
 
 
-def load_stock_of_markets_plate(date=tool.get_now_date_str()):
+# 鍔犺浇涓偂寮哄害鏃ュ織
+def load_kpl_market_stock_heat(date=tool.get_now_date_str()):
     """
      鑾峰彇绮鹃�夋祦鍏ョ殑鎴愬垎鑲�
     :param date:
@@ -127,12 +130,241 @@
     return fdatas
 
 
-if __name__ == '__main__':
-    datas = load_kpl_market_strong()
+def load_target_codes_info(date=tool.get_now_date_str()):
+    """
+     鑾峰彇寮�鐩樺暒鍘嗗彶寮哄害
+    :param date:
+    :return: [("鏃堕棿","鍒嗘暟")]
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/gp/codes/target_codes.{date}.log"
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                line = lines[0]
+                if line:
+                    try:
+                        data = line.split(" - ")[1].strip()
+                        if data.startswith("[") and data.find("]") < 20:
+                            data = data[data.find("]") + 1:].strip()
+                        return eval(data)
+                    except:
+                        pass
+    return None
+
+
+def load_k_bars(date=tool.get_now_date_str()):
+    """
+    鍔犺浇K绾挎暟鎹�
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/local_storage_data/all_stocks_all_K_line_property_dict.{date}.json"
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            return json.loads(lines[0])
+    return None
+
+
+def load_kpl_code_plates(date=tool.get_now_date_str()):
+    """
+    鍔犺浇浠g爜鏉垮潡鏁版嵁
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/gp/kpl/kpl_code_plates.{date}.log"
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                line = lines[0]
+                data = line.split(" - ")[1].strip()
+                if data.startswith("["):
+                    data = data[data.find("]") + 1:].strip()
+                return eval(data)
+    return None
+
+
+def load_kpl_limit_up_datas(date=tool.get_now_date_str()):
+    """
+    鍔犺浇寮�鐩樺暒娑ㄥ仠鏁版嵁
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/gp/kpl/kpl_limit_up.{date}.log"
     fdatas = []
-    for data in datas:
-        # (璺濈09:15:00鐨勭鏁�, 鏃堕棿, 寮哄害)
-        if "11:30:00"<= data[0]<="13:00:00":
-            continue
-        fdatas.append([tool.trade_time_sub(data[0], "09:15:00"), data[0], data[1]])
-    print(fdatas)
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                for line in lines:
+                    time_str = __get_async_log_time(line)
+                    data = line.split(" - ")[1].strip()
+                    if data.startswith("["):
+                        data = data[data.find("]") + 1:].strip()
+                    fdatas.append((time_str, eval(data)))
+    return fdatas
+
+
+def load_stock_of_markets_plate_simple(start_time_str, end_time_str, date=tool.get_now_date_str()):
+    """
+    鍔犺浇寮�鐩樺暒绮鹃�夋澘鍧楀強鍏朵唬鐮�
+    :param end_time_str: 缁撴潫鏃堕棿
+    :param start_time_str: 寮�濮嬫椂闂�
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/gp/kpl/stock_of_markets_plate_simple.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            while True:
+                line = f.readline()
+                if not line:
+                    break
+                time_str = __get_async_log_time(line)
+                if time_str > end_time_str:
+                    break
+                if start_time_str <= time_str <= end_time_str:
+                    data = line.split(" - ")[1].strip()
+                    if data.startswith("["):
+                        data = data[data.find("]") + 1:].strip()
+                    fdatas.append((time_str, eval(data)))
+    return fdatas
+
+
+def load_deal_big_order(date=tool.get_now_date_str()):
+    """
+    鎴愪氦澶у崟
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/huaxin/l2/transaction.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                for line in lines:
+                    time_str = __get_async_log_time(line)
+                    if time_str:
+                        data = line.split(" - ")[1].strip()
+                        if data.startswith("["):
+                            data = data[data.find("]") + 1:].strip()
+                    else:
+                        time_str = __get_log_time(line)
+                        data = line.split(" - ")[1].strip()
+                    fdatas.append((time_str, eval(data)))
+    return fdatas
+
+
+def load_ticks_data(min_time_str, max_time_str, date=tool.get_now_date_str()):
+    """
+    鎴愪氦澶у崟
+    :param max_time_str:
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/huaxin/l2/marketdata.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            while True:
+                line = f.readline()
+                if not line:
+                    break
+                try:
+                    time_str = __get_async_log_time(line)
+                    if time_str:
+                        data = line.split(" - ")[1].strip()
+                        if data.startswith("["):
+                            data = data[data.find("]") + 1:].strip()
+                    else:
+                        time_str = __get_log_time(line)
+                        data = line.split(" - ")[1].strip()
+                    if min_time_str <= time_str <= max_time_str:
+                        fdatas.append((time_str, eval(data)))
+                    if time_str > max_time_str:
+                        break
+                except Exception as e:
+                    logging.exception(e)
+                    print(line)
+    print(fdatas[-1])
+    return fdatas
+
+
+def load_forbidden_plates_data(date=tool.get_now_date_str()):
+    """
+    绂佹涔板叆鐨勬澘鍧�
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/gp/kpl/forbidden_plates.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                for line in lines:
+                    time_str = __get_async_log_time(line)
+                    if time_str:
+                        data = line.split(" - ")[1].strip()
+                        if data.startswith("["):
+                            data = data[data.find("]") + 1:].strip()
+                    else:
+                        time_str = __get_log_time(line)
+                        data = line.split(" - ")[1].strip()
+                    fdatas.append((time_str, data.split("-")[0].strip(), data.split("-")[1].strip()))
+    return fdatas
+
+
+def load_virtual_trade_account(date=tool.get_now_date_str()):
+    """
+    鍔犺浇铏氭嫙浜ゆ槗鏁版嵁
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/gp/virtual_account/virtual_account_money_records.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                for line in lines:
+                    time_str = __get_async_log_time(line)
+                    data = line[line.find("]") + 1:].strip()
+                    fdatas.append((time_str, eval(data)))
+    return fdatas
+
+
+def load_deal_list(date=tool.get_now_date_str()):
+    """
+    鍔犺浇铏氭嫙浜ゆ槗鏁版嵁
+    :param date:
+    :return:
+    """
+    path = f"{constant.get_path_prefix()}/low_suction_log/huaxin_local/trade/deal.{date}.log"
+    fdatas = []
+    if os.path.exists(path):
+        with open(path, 'r', encoding="utf-8") as f:
+            lines = f.readlines()
+            if lines:
+                for line in lines:
+                    # time_str = __get_async_log_time(line)
+                    data = line[line.find("]") + 1:].strip()
+                    fdatas.append(eval(data))
+    return fdatas
+
+
+if __name__ == '__main__':
+    print(load_deal_list())
+    # load_k_bars('2025-07-03')
+    # datas = load_ticks_data("09:50:00")
+    # fdatas = []
+    # for data in datas:
+    #     # (璺濈09:15:00鐨勭鏁�, 鏃堕棿, 寮哄害)
+    #     if "11:30:00" <= data[0] <= "13:00:00":
+    #         continue
+    #     fdatas.append([tool.trade_time_sub(data[0], "09:15:00"), data[0], data[1]])
+    # print(fdatas)

--
Gitblit v1.8.0