내 Path(os.getcwd())가 cronjob과 직접 cmd 호출에서 다르게 동작하는 이유는 무엇입니까?

내 Path(os.getcwd())가 cronjob과 직접 cmd 호출에서 다르게 동작하는 이유는 무엇입니까?

Python3 스크립트를 통해 CSV 파일에 일부 데이터를 쓰려고 합니다. CMD에서 직접 실행하면 제대로 작동하지만 crontab -ecron을 통해(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 && ...

관련 정보