У меня есть задача написать скрипт для автоматизации некоторых рутинных операций - собрать данные из разных источников, подготовить отчет на основе собранных данных и отправить его.Ничего сложного.Мой подход состоял в том, чтобы создать сценарий, преобразовать его в .exe и запланировать его ежедневный запуск.Этот скрипт использует несколько файлов для хранения данных за предыдущий день и доступен во время подготовки отчета.
Вот фрагмент кода, который я использую для определения пути к файлу:
self._p_day_queues = os.path.abspath(os.getcwd() + f_path + " -- "+ dt.now().strftime(self._date_format) + ".csv")
Когда я преобразовал его в .exe и запустил его двойным щелчком мыши -проблем нет, работает как положено.Когда дело доходит до планирования, возникает ошибка:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Windows\\' + my_file(s)_name
[13848] Failed to execute script ...
По-видимому, если этот файл выполняется планировщиком задач, приведенный выше фрагмент кода обрабатывает каталог планировщика как pwd , и это портитвверх abspath для файлов.
С этим допущением я исправил проблему, используя from pathlib import Path
, например: Path.home() / Path("my_path_to_file")
, но теперь его связь с одним конкретным каталогом, который является C:\\Users\\user_name
.
Как это исправить, чтобы .exe стал более гибким и не зависел от одного конкретного места?