Python에서 상대 경로를 얻는 방법

3770 단어 pythonexample
여러 사람과 함께 프로젝트를 진행하는 경우 전체 경로를 기록하지 않고 프로젝트 내의 특정 위치에서 파일이나 데이터를 가져와야 할 수 있습니다.

따라서 Python 코드를 실행하는 현재 작업 디렉토리에 상대적인 경로를 찾아야 합니다.

상대 경로는 / , ./ 또는 ../ 로 시작합니다.

Python에서 상대 경로를 얻으려면 먼저 스크립트 또는 모듈이 저장된 작업 디렉토리의 위치를 ​​찾아야 합니다. 그런 다음 해당 위치에서 원하는 파일의 상대 경로를 얻습니다.

목차
  • What is a relative path in Python?
  • How to find the relative path in Python
  • Conclusion

  • Python의 상대 경로는 무엇입니까?



    Python의 상대 경로는 Python 스크립트를 실행하는 진입점에 상대적인 디렉터리 위치를 설명하는 경로입니다.

    따라서 ~/home/projects/example-project/app.py 에서 Python 코드를 실행한다고 가정해 보겠습니다.

    이것은 Python 모듈의 최상위 코드를 실행하는 진입점이며 상대 경로의 시작점 역할을 합니다. 상대 경로는 일반적으로 / , ./ 또는 ../ 로 시작합니다.

    추가 설명을 제공하기 위해 이example-project에 있는 파일 및 디렉토리를 살펴보겠습니다.

    ~/home/projects/example-project/
    ├── app.py
    ├── cdk.context.json
    ├── cdk.json
    ├── mypy.ini
    ├── README.md
    ├── requirements.txt
    ├── src
    │  ├── __init__.py
    │  ├── bin
    │  │  ├── __init__.py
    │  │  ├── environments
    │  │  └── load_dotenv.py
    │  ├── lib
    │  │  ├── __init__.py
    │  │  ├── api
    │  │  ├── compute
    │  │  ├── constructs
    │  │  ├── database
    │  │  ├── skeleton
    │  │  └── storage
    │  └── main.py
    ├── tests
    │  ├── __init__.py
    │  └── test_main.py
    └── tox.ini
    

    예를 들어 ~/home/projects/example-project/src/lib에 액세스해야 하는 경우 이 Python 프로젝트에서 상대 경로는 ./src/lib/입니다.

    상대 경로를 사용하면 Python 프로젝트에서 파일이나 디렉터리를 찾기 위해 전체 절대 경로를 작성할 필요가 없으므로 코드가 간소화됩니다.

    Python에서 상대 경로를 찾는 방법



    다른 운영 체제에서 Python 스크립트를 실행할 수 있으므로 코드를 하드 코딩하는 대신 코드로 가져오려는 파일의 전체 경로를 자동으로 찾고 싶습니다. 이것은 프로젝트에서 파일 또는 폴더를 가져오기 위해 절대 경로와 상대 경로를 결합하여 수행할 수 있습니다.

    이전 예제의 app.py를 사용하고 이 작업 디렉토리에서 ./src/lib 상대 경로를 가져오려고 합니다.

    Python에서 상대 경로를 얻으려면 다음 코드를 작성합니다.

    import os
    
    absolute_path = os.path.dirname(__file__)
    relative_path = "src/lib"
    full_path = os.path.join(absolute_path, relative_path)
    

    먼저 코드에서 운영 체제 기능을 실행할 수 있도록 Python에서 os module을 가져와야 합니다.

    그런 다음 루트 폴더에 상대적인 현재 디렉터리를 가져오는 변수absolute_path를 만듭니다. 이것은 작업 디렉토리의 전체 경로입니다(이 경우에는 ~/home/projects/example-project/ ).

    운영 체제에서 절대 경로를 얻는 이점은 서로 다른 작업 디렉토리의 서로 다른 시스템에서 스크립트를 실행할 수 있다는 것입니다.
    relative_path 변수는 작업 디렉토리를 기준으로 가져오려는 폴더의 위치를 ​​정의하는 문자열입니다. 이 경우 "src/lib" .

    그런 다음 absolute_path를 사용하고 join를 통해 relative_path를 결합하여 lib 폴더의 전체 경로를 얻습니다.

    /Users/dannysteenman/projects/example-project/src/lib/

    결론



    보시다시피 상대 경로는 Python 코드의 폴더 또는 파일에 대한 전체 경로를 기록하지 않고도 코드를 단순화하는 데 유용할 수 있습니다.

    대신 작업 디렉터리 또는 Python 스크립트의 진입점에 상대적인 디렉터리 위치만 가리킵니다.

    Python에서 절대 경로를 찾는 방법에 대한 지침이 필요하면 아래의 다음 문서를 읽으십시오.

    How to get an absolute path in Python



    Source

    좋은 웹페이지 즐겨찾기