#python #api
#python #API
Вопрос:
Я пытаюсь запустить скрипт Python для API. Когда я запускаю его вручную, он работает нормально. Когда я пытаюсь запустить тот же скрипт с помощью cron, он завершается неудачей.
В задании cron у меня есть что-то вроде этого:
0 8-17 * * * root /usr/bin/python3 /root/scripts/python_script.sh
Я также пытался запустить скрипт Python из скрипта bash, и он работает вручную, но запуск скрипта bash с Python внутри через cron не работает.
Я думаю, что проблема связана с сохранением файла в моем скрипте, но я не могу понять это.
Мой скрипт Python для API приведен ниже:
import requests
import json
import shutil
import os
import glob
def main():
ses = requests.Session()
base_url = 'URL/auth'
headers = {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
payload = {'username':'USER', 'password':'PASS'}
response = ses.post(base_url, data=payload, headers=headers)
cookieJar = ses.cookies
s = str(cookieJar)
base_url_export = 'URL/export'
headers_export = {'accept':'application/json', 'Cookie':get_cookies, 'Content-Type':'application/json'}
payload_export = {'names':'FILE_1'}
response_export_route = ses.post(base_url_export, data=json.dumps(payload_export), headers=headers_export)
file_download_FILE_1 = str(response_export_FILE_1.text)
file_request = ses.get("URL/getFile/" file_download_FILE_1)
open(file_download_FILE_1 ".xlsx", "wb").write(file_request.content)
shutil.move('/root/scripts/' file_download_FILE_1 '.xlsx', 'DST-DIR')
Комментарии:
1. Хм… Где вы на самом деле вызываете
main
функцию?2. Это не работает? Это говорит очень мало. В чем ошибка? Вы получаете какой-либо вывод?
3. я понял это, я просто забыл изменить каталог для запуска скрипта python.