Найти - Пользователи
Полная версия: Вывод результата скрипта в html с последующим его просмотром и удалением
Начало » Python для новичков » Вывод результата скрипта в html с последующим его просмотром и удалением
1
Stright
Доброго времени суток!
Есть некоторый скрипт, результат работы которого сохраняется в html. Затем я хочу просмотреть этот файл через браузер и после просмотра удалить. Пробую сделать это так:
 ...
def render_diff(self):
    browser_name = webbrowser.get().basename
    process = subprocess.Popen(args=[browser_name, result_path])
    process.wait()
    os.remove(result_path)
Все работает, как и задумано, если дефолтный браузер - firefox, но если установить в качестве дефолтного - chrome или chormium, то файл удаляется сразу же после старта браузера, так как процесс в случае с хромом сразу же отвязывается от терминала. Как это исправить? Или подход к задаче неверный?
Stright
Стоило написать, решение само нашлось )
     def render_diff(self):
        for name in ('chrome', 'chromium', 'firefox'):
            try:
                webbrowser.get(name)
                process = subprocess.Popen(args=[name, result_path])
                process.wait()
                os.remove(result_path)
                break
            except webbrowser.Error:
               pass
Если в webbrowser.get передавать имя браузера поведение отличается, и все работает, как надо
Stright
Хотя нет, файл уже можно просмотреть в браузере, но удаляется он раньше, чем завершится процесс (
Вопрос остается, можно ли удалить файл только после завершения процесса?
Stright
Выяснилось, что файл удаляется, когда надо, если браузер не запущен и удаляется сразу же после запуска процесса, если браузер уже открыт, в принципе такое поведение устраивает, вопрос снимается )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB