)%EA%B0%80%20cronjob%EA%B3%BC%20%EC%A7%81%EC%A0%91%20cmd%20%ED%98%B8%EC%B6%9C%EC%97%90%EC%84%9C%20%EB%8B%A4%EB%A5%B4%EA%B2%8C%20%EB%8F%99%EC%9E%91%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
Python3 스크립트를 통해 CSV 파일에 일부 데이터를 쓰려고 합니다. CMD에서 직접 실행하면 제대로 작동하지만 crontab -e
cron을 통해(cron을 통해) 실행하면 작동하지 않습니다.
이제 파일에 대한 직접 경로(내 코드에서 상수 문자열로 하드코딩됨)가 필요하다는 것을 알았습니다.
그러나 나의 첫 번째 방법은 나를 혼란스럽게 한다. 명령을 실행 Path(os.getcwd()).joinpath('Data/test.csv')
하고 올바른 경로를 얻습니다 /home/pi/Documents/Project/Data/test.csv
. 하지만 cron을 통해 실행하면 경로는 /home/pi/Data/test.csv
.
프로젝트는 에 있습니다 /home/pi/Documents/Project/
. Path(os.getcwd()).joinpath('Data/test.csv')
cmd를 통한 직접 호출 대신 다른 경로가 반환되는 이유는 무엇입니까?
cron과 스크립트의 명령줄 호출에서 동일한 동작이 발생하는 경우 무엇을 변경할 수 있습니까?
편집하다
이것은 내 crontab 항목입니다.
00 9,15 * * * python3 /home/pi/Documents/Projects/temperatureCheck/temperatureCheck.py
답변1
crontab 명령 앞에 다음을 붙입니다.
cd /home/pi/Documents/Project && ...