복붙노트

[PYTHON] 플랫폼 독립적 인 파일 경로?

PYTHON

플랫폼 독립적 인 파일 경로?

어떻게 파이썬에서 내 app 폴더 안의 파일을 사용할 수 있습니까? 물론 플랫폼 독립적 ... 이와 비슷한 것 :

#!/bin/sh
mypath=${0%/*}
LIBDIR=$mypath/modules

해결법

  1. ==============================

    1.OS 고유의 경로를 처리하는 os.path와 그 함수를 사용할 수 있습니다 :

    OS 고유의 경로를 처리하는 os.path와 그 함수를 사용할 수 있습니다 :

    >>> import os
    >>> os.path.join('app', 'subdir', 'dir', 'filename.foo')
    'app/subdir/dir/filename.foo'
    

    Windows에서는 백 슬래시를 사용하여 인쇄해야합니다.

  2. ==============================

    2.

    import os
    os.path.join(os.path.curdir, 'file.name')
    

    또는

    import os
    os.path.join(os.path.dirname(__file__), 'file.name')
    

    모듈 (2)인지 또는 단일 스크립트 (1)인지 여부와 동일한 디렉토리 (1)에서 호출하는지 또는 다른 디렉토리 (2)에서 호출하는지에 따라 다릅니다.

    당신이 당신의 질문에 가지고있는 "시도"를 보면 나는 당신이 (1)을 원할 것입니다.

  3. ==============================

    3.__file__은 모듈의 위치를 ​​포함합니다. os.path의 함수를 사용하여 디렉토리를 추출하십시오.

    __file__은 모듈의 위치를 ​​포함합니다. os.path의 함수를 사용하여 디렉토리를 추출하십시오.

  4. ==============================

    4.Python 3.4 이상에서는 pathlib를 사용할 수 있습니다 :

    Python 3.4 이상에서는 pathlib를 사용할 수 있습니다 :

    from pathlib import Path
    
    parent = Path(__file__).resolve().parent  # get current script directory
    path = parent / "modules"                 # create a child path
    
  5. from https://stackoverflow.com/questions/6036129/platform-independent-file-paths by cc-by-sa and MIT license