2016-10-23 6 views
1

Windows 작업 스케줄러를 사용하여 Python 프로그램을 실행하려고합니다. 규정 된 시간에 명령 창이 잠깐 나타난 다음 사라지는 것을 볼 수 있습니다. 그러나 파이썬 스크립트는 파일을 생성해야합니다. 그 파일은 절대 생성되지 않습니다. Windows 검색을 사용하여 파일을 검색했지만 어디에도 없습니다. 그러나 명령 줄을 사용하여 스크립트를 실행하면 파일이 의도 한대로 만들어집니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?디버그 : Windows 작업 관리자에서 Python 스크립트 실행

파이썬 프로그램 :

다음

내 설정이다 ---------------------

import os 

print('start of simple test') 
testList ="1,2,3" 
with open('lala.txt', 'w') as testfile: 
    testfile.write(testList) 

- -------------------

다음 내 Windows 7 작업 스케줄러 창 프로그램/스크립트에서 작업 설정은 다음과 같습니다 C : \ 파이썬 \ python.exe를 인수 추가 : "C : \ PythonProject \ ReportCreator.py "

Screenshot

+1

어쩌면'lala.txt'입니다 'c : \ Python' 폴더 아래에 있습니다. 그것이 없다는 것을 확인할 수 있습니까? –

+0

아니요, 방금 확인되지 않았습니다. 사실 나는 왼쪽 하단 메뉴의 윈도우 아이콘을 클릭하면 나타나는 Windows 검색 창을 사용하여 검색합니다.이 방법을 사용하면 파일이있는 경우 아무 데나 찾을 수 있습니다. –

+1

작업이 시작되면 현재 디렉터리가 파일을 만들 권한이없는 디렉터리에있을 수 있습니다. 'lala.txt' 파일의 절대 경로를 지정하거나'Task Scheduler'에서 예약 된 작업의'시작 '설정에서 디렉토리를 지정하십시오. – acw1668

답변

2

당신은있는 스케줄러가이 코드를 사용하여 ReportCreator.py를 실행하는 폴더를 볼 수 있습니다. 파이썬 파일 scheduler_path.py을 만들고 스케줄러로 실행 : current path: C:\WINDOWS\system32 : 그것은 나에게이 출력을 준

import os 

print('current path:', os.path.abspath(os.curdir)) 
input('press enter to continue') # input is for Python3. Use raw_input for Python2 

. 내 생각 엔 system32 폴더에 쓰기를 시도하고 있지만 그렇게 할 수있는 권한이 없다는 것입니다.

당신은 파일을 작성하는 절대 경로를 제공 할 수 있습니다, 또는 당신은 당신의 스크립트 파일과 같은 폴더에 그것을 만들려면, 당신은이 작업을 수행 할 수 있습니다

import os 

print('start of simple test') 
test_list ='1,2,3' 
script_folder = os.path.dirname(__file__) # in your case this should become C:\PythonProject\ 
filename = 'lala.txt' 
filepath = os.path.join(script_folder, filename) 
with open(filepath, 'wt') as test_file: 
    test_file.write(test_list) 
관련 문제