Python 프로젝트의 상대 경로 문제 해결
Python 프로젝트 작업 시 상대 경로가 해석되는 방식을 이해하는 것이 중요합니다. 주어진 프로젝트 구조에 표시된 것처럼 "..datatest.csv"와 같은 상대 경로를 사용하면 오류가 발생할 수 있습니다. 이유는 다음과 같습니다.
상대 경로는 현재 작업 디렉터리를 기준으로 합니다. 예제에서 "main.py"는 프로젝트 루트에서 실행되므로 상대 경로는 프로젝트 루트 내의 "data" 디렉터리를 예상합니다. 그러나 파일은 실제로 "패키지" 디렉터리에 있습니다.
이 문제를 해결하려면 상대 경로 대신 절대 경로를 사용해야 합니다. 절대 경로는 루트 디렉터리부터 시작하여 파일의 정확한 위치를 지정합니다. 그러나 절대 경로를 사용하면 코드의 이식성과 유연성이 떨어질 수 있습니다.
또는 "__file__" 속성을 사용하여 현재 스크립트에서 절대 경로를 구축하는 트릭을 사용할 수도 있습니다.
<code class="python">from pathlib import Path path = Path(__file__).parent / "../data/test.csv" with path.open() as f: test = list(csv.reader(f))</code>
이 방법을 사용하려면 Python 3.4 이상이 필요합니다. 이전 버전의 경우 다음 코드를 사용하여 동일한 결과를 얻을 수 있습니다.
<code class="python">import csv import os.path my_path = os.path.abspath(os.path.dirname(__file__)) path = os.path.join(my_path, "../data/test.csv") with open(path) as f: test = list(csv.reader(f))</code>
이러한 기술을 활용하면 Python 프로젝트에서 상대 경로를 효과적으로 처리할 수 있으므로 코드가 이식 가능하고 다른 버전과 호환되도록 할 수 있습니다. 설정.
위 내용은 다음은 질문과 답변 형식과 텍스트 내용을 염두에 두고 몇 가지 제목 옵션입니다. 옵션 1(문제에 집중): * \'..\\data\\test.csv\'가 Python을 손상시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!