У меня есть скрипт, который я хотел бы запускать ежедневно, и нашел очень полезную статью о том, как использовать планировщик задач Windows. Как указывалось в руководстве, я создал файл .bat
:
"C:\Python\python.exe" "C:\Python\mee6APIData\mee6DataGetter.py"
pause
, и всякий раз, когда я запускаю этот файл, полученный файл .csv
записывается правильно. Однако, когда планировщик запускает тот же файл .bat
, файл не записывается. Я получаю ошибку разрешения, а также трассировку, которая может помочь:
Traceback (most recent call last):
File "C:\Python\mee6APIData\mee6DataGetter.py", line 34, in <module>
loop.run_until_complete(job())
File "C:\Python\lib\asyncio\base_events.py", line 616, in run_until_complete
return future.result()
File "C:\Python\mee6APIData\mee6DataGetter.py", line 31, in job
await readData(1)
File "C:\Python\mee6APIData\mee6DataGetter.py", line 28, in readData
np.savetxt(date + '.csv', initArray, delimiter=', ', comments='', fmt='%s', encoding='utf8')
File "<__array_function__ internals>", line 5, in savetxt
File "C:\Python\lib\site-packages\numpy\lib\npyio.py", line 1377, in savetxt
open(fname, 'wt').close()
PermissionError: [Errno 13] Permission denied: '03-22-2020.csv'
, но нет ошибок разрешения при запуске программы вручную. Я нашел похожий вопрос , который уже задавался, но я также не получил этот метод для работы. Я что-то упускаю? Нужно ли планировщику задач запускать файл .bat
от имени администратора? Любая помощь приветствуется!
edit:
В качестве примера моей ошибки следующий код (exampleCode.py, который находится в папке с именем 'mee6APIData') работает правильно при запуске вручную:
import numpy as np
dataArray = ['user_ID', 'server_name', 'server_xp', 'date']
np.savetxt('example.csv', dataArray, delimiter=', ', comments='', fmt='%s', encoding='utf8')
и соответствующий файл .bat
:
"C:\Python\python.exe" "C:\Python\mee6APIData\exampleCode.py"
pause
в соответствии с вышеупомянутым учебным пособием , ошибка должна проявиться, поскольку при использовании планировщика задач не сохраняется файл.