django에서 json 파일이 읽히지 않습니다.
-
제가 현재 django를 이용하여 api를 만들려고 합니다. 그 중에서 json파일의 데이터를 읽어오는 부분을 작성중인데 같은 디렉토리 내에 있는 json 파일을 읽어오지 못한다는 오류가 발생하는데 왜 그러는건지 도와주실 수 있나요?
-
절대경로를 이용해서 해결되었습니다. 관심 가져주셔서 감사합니다.
-
@Jose-goorm
절대경로를 통해서 접근하니까 정상적으로 작동합니다. 감사합니다. -
아마도 json 파일의 상대경로를 이용하여 file read 시도하시는 상황일 것으로 생각됩니다.
Python에서 상대경로의 기준은 .py 파일의 위치가 아니라 python 프로세스를 실행한 디렉토리 위치가 됩니다.
구름IDE에서 django 서버를 실행하셨다면 보통의 경우에/workspace/[프로젝트이름]
경로에서 실행이 되므로
이 경우에 만약
/workspace/[프로젝트이름]/foo/bar.py
파일에서
/workspace/[프로젝트이름]/foo/data.json
파일을 읽으려면
open('data.json')
이 아닌open('foo/data.json')
와 같이 해주셔야 합니다.하지만 이 방법은 실행 위치에 따라 제대로 작동할 수도, 에러가 날 수도 있는 방식이라, 아래와 같이 절대경로 이용하시는 것을 추천드립니다.
import os json_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'data.json') f = open(json_path)
-
혹시 에러 메시지 보여주실 수 있나요?