복붙노트

[PYTHON] Windows 10의 작업 스케줄러에서 .py 파일 예약

PYTHON

Windows 10의 작업 스케줄러에서 .py 파일 예약

.py 파일을 .exe 파일로 변환하려고 이미 시도했습니다. 불행히도 .exe 파일은 문제를 일으 킵니다. 내 코드가 상당히 복잡하기 때문에 이것이라고 생각합니다. 그래서, 저는 작업 스케줄러로 .py 파일을 직접 스케쥴하려고합니다. 그러나 매번 작업을하고 그것을 실행하면 윈도우가 튀어 나오고 프로그램을 어떻게 열 것인지 묻습니다. -.-

Task Scheduler를 사용하여 .py 파일을 성공적으로 예약 할 수있는 방법을 알고 계신 분도 있습니까? 도와주세요, 고마워요.

후진 10 파이썬 3.5.2

해결법

  1. ==============================

    1.exe를 만드는 것이 가장 좋은 방법입니다. 하지만 작업 스케줄러로 실행하려면 다음과 같이하십시오.

    exe를 만드는 것이 가장 좋은 방법입니다. 하지만 작업 스케줄러로 실행하려면 다음과 같이하십시오.

    일정 작업에서 사용하는 로그인 계정에 상관없이 Python 스크립트가 실행되도록하고 혼합 환경 (64 비트 또는 32 비트)에서 사용되는 Python 버전에 대한 혼란을 피하기 위해 Python 실행 파일을 다음과 같이 실행하는 것이 좋습니다. 실행 파일에 대한 인수로서 파이썬 파일의 이름.

    실행할 스크립트가 E : \ My script.py라고 가정합니다. 스크립트를 직접 실행하는 대신 작업 스케줄러에게 스크립트를 인수로 사용하여 python.exe를 실행하도록 지시하십시오. 예 :

    C : \ Python27 \ ArcGIS10.2 \ python.exe "E : \ My script.py"

    python.exe의 위치는 설치에 따라 다릅니다. 어디에 있는지 모를 경우 위치를 찾을 수 있습니다. 다음 코드를 복사하여 새로운 파이썬 스크립트에 붙여 넣은 다음 스크립트를 실행하십시오. 이 스크립트는 python.exe의 위치와 파이썬 환경에 관한 다른 정보를 출력합니다.

    import sys
    import platform
    import imp
    
    print("Python EXE     : " + sys.executable)
    print("Architecture   : " + platform.architecture()[0])
    print("Path to arcpy  : " + imp.find_module("arcpy")[1])
    
    raw_input("\n\nPress ENTER to quit")
    

    python.exe의 위치를 ​​결정한 후에는 작업 스케줄러의 작업 패널에 다음과 같이 입력됩니다.

    스크립트에 추가 인수 (매개 변수)가있는 경우 스크립트의 경로 뒤에 매개 변수를 제공하십시오. 희망이 도움이됩니다.

  2. ==============================

    2.작업 탭에서 설정해야합니다.

    작업 탭에서 설정해야합니다.

    또한 작업을 수정할 때마다 일반 탭의 사용자 계정이 보통 필수 수준으로 전환됩니다. 그래서 taks를 다시 열고 내 사용자 이름으로 사용자 계정을 다시 설정해야합니다 (cf.이 질문 참조).

    여전히 스크립트를 실행할 수 없으면 이벤트 로그, 응용 프로그램 및 서비스 로그 / Microsoft / Windows / TaskScheduler / Operational (사용하려면 마우스 오른쪽 단추로 클릭)로 이동하여 오류를 찾으십시오.

  3. ==============================

    3.실행하는 스크립트는 파이썬 디렉토리에있는 exe 파일입니다. ex) C : \ Python27 \ python.exe

    실행하는 스크립트는 파이썬 디렉토리에있는 exe 파일입니다. ex) C : \ Python27 \ python.exe

    "인수"는 스크립트 경로입니다 예) C : \ Path \ To \ Script.py

    이렇게 생각하면 다음과 같습니다. 스크립트를 기술적으로 예약 된 작업으로 실행하지 않습니다. 스크립트가 매개 변수로 제공되면서 컴퓨터의 루트 파이썬 exe를 실행하고 있습니다.

  4. ==============================

    4.나는 이것으로 머리카락을 거의 잃어 버렸다. 위에서 설명한 내용을 수행 한 결과로 항상 0x1을 얻었습니다. 오랜 경험을 가진 Windows 관리자가 다음과 같이 말했습니다.

    나는 이것으로 머리카락을 거의 잃어 버렸다. 위에서 설명한 내용을 수행 한 결과로 항상 0x1을 얻었습니다. 오랜 경험을 가진 Windows 관리자가 다음과 같이 말했습니다.

    배치 파일 만들기 :

    SET logfile="C:\Reports\batch.log"
    @echo off
    @echo Starting Script at %date% %time% >> %logfile%
    "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python.exe" "C:\Users\sys_www\source\repos\hardware\ReportAssembler.py"
    @echo finished at %date% %time% >> %logfile%
    

    그런 다음 작업 구성의 작업 부분에 배치 파일을 제공하십시오. 한 가지 사실은 파이썬 프로그램의 런타임 중에 작성된 모든 파일이 스크립트를 실행하는 사용자가 실제로 액세스 할 수 있다는 점입니다.

    필자는 스크립트를 매개 변수로 사용하고 프로그램 / 스크립트에서 python exe를 사용하려고 시도했습니다. 먼저 "Windows 예약 된 작업이 실행되고 있지 않음"이라는 오류 메시지가 나타납니다. 다음 주위에 몇 가지 구성 후 오류 0x1있어, 절대적으로 아무것도 내게 말했다.

  5. from https://stackoverflow.com/questions/44727232/scheduling-a-py-file-on-task-scheduler-in-windows-10 by cc-by-sa and MIT license