#python #visual-studio-code
#питон #visual-studio-код
Вопрос:
Это очень сложная ситуация, в vscode я отредактировал свой код в корневом каталоге и сохранил его как test_distribution.py. После того, как я запущу этот файл в терминале vscode. Каждый раз, когда я редактирую и сохраняю этот файл, он запускается автоматически.
Поэтому я переместил этот файл во вложенную папку этого проекта, но обнаружил, что он все еще запускается, когда я редактирую и сохраняю этот файл. Поэтому я изменил имя файла на distribution_test.py и добавьте ведение журнала и снова сохраните этот файл. Оказывается, он все равно будет работать, когда я отредактирую и сохраню этот файл.
Как я должен выяснить, почему это происходит? Какую информацию я должен получить, чтобы выйти из системы, чтобы разобраться в этой проблеме?
Как вы можете видеть, 1300000_bake.xlsx генерируется этим файлом python, я даже переместил этот файл python в другую папку и изменил его имя, как я уже говорил выше, мне очень любопытно, как узнать, какая программа запускает это
Фотографии, как показано ниже:
for store_id in store_ids: df = pd.DataFrame(columns=columns) for query_date in date_range: logging.info(f"提高计算速度, 使用常规kind_code_cate1类型") kind_cate1s = normal_cate1 for kind_cate1 in kind_cate1s: for setting in [dev_setting, prod_setting]: eng = conn(setting) delivery_cycle = pd.read_sql( f"select delivery_cycle from dim_mty_goods where kind_code_cate1={kind_cate1} and can_be_ordered=1", eng, ) delivery_cycle = np.unique(delivery_cycle["delivery_cycle"].values) delivery_cycle = min(delivery_cycle) # 只有冷藏存在多个值, 1, 2, 3 取1, 其他均为单一值 start_time = time.time() logging.info( f"开始计算, store_id: {store_id}, date: {query_date}, kind_cate1: {kind_cate1}, dev 环境: {setting == dev_setting}" ) logging.info( f"bash command: {create_bash(query_date, kind_cate1, store_id, setting == dev_setting)}" ) status = os.system( create_bash( query_date=query_date, kind_cate1=kind_cate1, store_id=store_id, dev_setting=(setting == dev_setting), ) ) elapsed = time.time() - start_time if status != 0: logging.info( f'计算出现问题, store_id: {store_id}, date: {query_date}, kind code cate1: {kind_cate1}, 环境: {setting["db"]}' ) break logging.info(f"返回耗时: {elapsed}") if elapsed lt; 60: calculate_time = elapsed elif setting == dev_setting: calculate_time = pd.DataFrame() while calculate_time.empty: calculate_time = pd.read_sql( f'select cal_time from calculate_time where dt = "{str(query_date)}" and store_id={store_id} and kind_code_cate1={kind_cate1}', eng, ) # 等待写库 time.sleep(0.1) logging.warning( f"未查询到计算时间, store_id: {store_id}, date: {query_date}, kind_code_cate1: {kind_cate1}" ) calculate_time = min(calculate_time["cal_time"].values) else: calculate_time = elapsed logging.info(f"计算时间, {calculate_time}") arrival_sale_day = [ "sale_predict_qtty_t1", "sale_predict_qtty_t2", "sale_predict_qtty_t3", ][delivery_cycle] dev_prod = int(setting["db"] == "marsboard_dev") df_temp = pd.DataFrame() while df_temp.empty: df_temp = pd.read_sql( f'select store_id, dt, kind_code_cate1, {arrival_sale_day}, perdict_stock_qtty, predict_num, goods_id, goods_name from order_list where store_id={store_id} and kind_code_cate1={kind_cate1} and dt="{str(query_date)}"', eng, ) logging.warning(f"未查询到order list 里的信息") if pd.read_sql( f'select store_id, dt, kind_code_cate1, {arrival_sale_day}, perdict_stock_qtty, predict_num, goods_id, goods_name from order_list where store_id={store_id} and kind_code_cate1={kind_cate1} and dt="{str(query_date)}"', prod_eng, ).empty: logging.info(f"生产环境本品类亦无数据, {kind_cate1}") break time.sleep(0.1) df_temp["dev_prod"] = dev_prod df_temp["calculate_time"] = float(calculate_time) df_temp.columns = columns df = pd.concat([df_temp, df], axis=0, ignore_index=True) print(df) df.to_excel(f"{store_id}_bake.xlsx", index=False)
Комментарии:
1. Не могли бы вы прикрепить скриншот, спасибо.
2. Добавлено, как вы можете видеть, он все еще генерирует файл, каждый раз, когда я редактирую и сохраняю этот файл, он будет генерировать новый файл с помощью df.to_excel
3. Извините, не могли бы вы приложить скриншот терминала?
4. проблема в том, что я даже не открываю один терминал для vscode, и он все еще генерирует файл, я также прикрепляю свой код в этом файле
5. Не могли бы вы открыть свой терминал, чтобы посмотреть?
Ответ №1:
Возможно , Вы по ошибке установили расширение «Запуск при сохранении» . Я думаю, что в этом причина Проблемы.
Комментарии:
1. Это должно быть комментарием. Нет ответа
2. нет, я проверил свое расширение, и странно то, что оно используется только для этого файла
3. Попробуйте скопировать код и вставить его снова в другой файл .py.