@Dcfgvy

Почему возникает ошибка при запуске другого файла Python?

У меня есть программа на Python, которая работает отдельно в 4 файлах. То есть до определённого момента работает 1 файл, потом он запускает 2, 2 запускает 3, 3 - 4, а последний 4 - заново первый. Именно на этом моменте и вылезает ошибка:
Traceback (most recent call last):
  File "E:\Программирование\Python\search_for_new.py", line 144, in <module>
    exec(open("test.py").read())
  File "<string>", line 51, in <module>
  File "<string>", line 12, in <module>
  File "<string>", line 5, in <module>
  File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\encodings\cp1251.py", line 23, in decode
200
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 4091: character maps to <undefined>

По всему видимому это как-то связанно с кодировкой, но происходит так только, когда последний файл заново запускает первый. Вот часть кода первого файла:
flag = False
while True:
    # тут просто работаю с json
    time.sleep(5)
    if flag:
        with open("test.py", "r", encoding="utf-8") as f:
            exec(f.read()) # здесь возникает ошибка при запуске из последнего файла

Вот код последнего файла:
import time
import requests
files={'document':open('output_final.mp4', 'rb')}
# отправляю файл через бота в Telegram
print(resp.status_code) # тут 200, всё норм
time.sleep(2)
exec(open("search_for_new.py").read()) # здесь и запускается 1 файл

Спасибо!
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
sandersrocket
@sandersrocket
programmer
если ты все таки хочешь оставить свою тактику применения и запуска файла, то делается это через subprocess
пример:
subprocess.Popen(["py", "search_for_new.py"])
но проще через
import search_for_new
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы