Исполнение python скрипты из под планировщика isp
Столкнулся со следующим. К примеру задача скрипта сохранить файл в каталоге
f = open('/b_thumbnails.txt','w') # открытие в режиме записи
f.write('WEBVTT' + gg) # запись....
f.close() # закрытие файла
Если скрипт запускать в ручную из консоли, файл сохраняет. Но вот если выставить задачу в планировщике isp, скрипт исполнят и без ошибок. Но файл не сохраняет, при чем во всех случаях, что так, что сохранение выхдных файлов из под ffmpeg. При чем все необходимы каталоги создает, а вот файлов в них нет. Нету когда скрипт исполняет систем, опятьже если скрипт запускать из консоли все работает. А из под системы, не сохраняет файлы.
В чем может быть проблема?
Ответы (1 шт):
Скорее всего директория берется от места запуска скрипта.
Попробуйте указать полный путь например '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') подразумевает открыть файл для записи если файла нет то создать. Можно поискать в системе где добавился этот файл.