Исполнение python скрипты из под планировщика isp

Столкнулся со следующим. К примеру задача скрипта сохранить файл в каталоге

f = open('/b_thumbnails.txt','w') # открытие в режиме записи
f.write('WEBVTT' + gg)            # запись....
f.close()                         # закрытие файла

Если скрипт запускать в ручную из консоли, файл сохраняет. Но вот если выставить задачу в планировщике isp, скрипт исполнят и без ошибок. Но файл не сохраняет, при чем во всех случаях, что так, что сохранение выхдных файлов из под ffmpeg. При чем все необходимы каталоги создает, а вот файлов в них нет. Нету когда скрипт исполняет систем, опятьже если скрипт запускать из консоли все работает. А из под системы, не сохраняет файлы.

В чем может быть проблема?


Ответы (1 шт):

Автор решения: Kers

Скорее всего директория берется от места запуска скрипта.
Попробуйте указать полный путь например 'C:/my_folder/b_thumbnails.txt'.
Можно указать чтобы директория формировалась от расположения скрипта, а не от директории запуска.

import os
from pathlib import Path
from pathlib import PurePath

# Получить директорию где запущен скрипт
dr = os.path.abspath(os.curdir)
print(dr)
# Получить путь к скрипту
dr2 = os.path.abspath(__file__)
print(dr2)

# Получаем директорию скрипта
w = PurePath(dr2).parts # разбираем на элементы
scr_dir = ''.join(w[: - 1]) # Убираем имя скрипта
print(scr_dir) # Собираем обратно в строку

В вашем случае open('/b_thumbnails.txt','w') подразумевает открыть файл для записи если файла нет то создать. Можно поискать в системе где добавился этот файл.

→ Ссылка