Python을 사용하여 주어진 파일의 경로 찾기

Python을 사용하여 주어진 파일의 경로 찾기

__file__을 사용하여 실행 중인 스크립트 파일 .py의 위치(경로)를 얻을 수 있습니다. __파일__ 다른 파일을 읽는 데 유용하며 실행 중인 파일의 현재 위치를 제공합니다. 버전별로 다릅니다. Python 3.8 및 이전 버전에서 __file__은 실행 시 지정된 경로를 반환합니다. 파이썬 명령.

상대 경로를 지정하면 상대 경로를 얻을 수 있습니다. 절대 경로를 지정하면 절대 경로가 반환됩니다. 그러나 Python 3.9 이상에서는 __file__은 항상 절대 경로를 반환합니다. OS 모듈 다양한 유틸리티를 제공합니다.

OS를 사용하여 Python에서 현재 디렉터리를 가져오는 방법

OS를 사용하여 Python에서 현재 디렉터리를 가져오는 방법에는 여러 가지가 있습니다. 여기서는 다음과 같은 OS를 사용하여 Python에서 현재 디렉터리를 가져오는 데 일반적으로 사용되는 몇 가지 방법을 사용하고 있습니다.

  • Path.cwd() 사용
  • 사용 os.getcwd()
  • pathlib.Path().absolute() 사용
  • os를 사용합니다. 경로.기본 이름
  • 사용 os.path.abspath

Path.cwd()를 사용하여 주어진 파일의 경로를 찾습니다.

여기서 CWD(Current Working Directory)라는 아이디어가 중요한 위치를 차지합니다. 생각해보세요 CWD Python이 실행 중인 폴더입니다. Python은 단순히 이름으로 호출되는 경우 파일이 CWD에서 시작한다고 가정하므로 이름만 참조하는 것은 파일이 Python의 CWD에 있는 경우에만 작동합니다. Path.cwd()는 현재 디렉토리를 반환합니다.

파이썬3




from> pathlib> import> Path> print> (Path.cwd())>

산출:

C:Usersint.suraj.gupta 

OS가 포함된 Python에서 현재 디렉터리 가져오기 os.getcwd() 사용

현재 작업 디렉터리의 절대 경로를 얻을 수 있습니다. 따라서 사용된 버전에 따라 상대 경로 또는 절대 경로가 검색됩니다. Python에서 현재 작업 디렉토리를 얻으려면 os를 사용하십시오. getcwd () 방법. Python OS 모듈의 이 함수는 현재 작업 디렉터리에 대한 절대 경로가 포함된 문자열을 반환합니다.

파이썬3




import> os> print> (> 'Get current working directory : '> , os.getcwd())>

산출:

Get current working directory : C:Usersint.suraj.gupta 

OS가 포함된 Python에서 현재 디렉터리 가져오기 사용하여 pathlib.Path().absolute()

Python의 이 기능은 OS 모듈 현재 작업 디렉터리의 절대 경로가 포함된 문자열을 반환합니다.

파이썬3




import> pathlib> # current working directory> print> (pathlib.Path().absolute())>

산출:

C:Usersint.suraj.gupta 

os.path.basename을 사용하여 주어진 파일의 경로 찾기

아래와 같은 방법으로 실행 중인 파일의 파일 이름과 디렉터리 이름을 얻을 수 있습니다. 이해해야 할 핵심 사항 __파일__ 통역사가 런타임에 이를 조정하여 파이썬 스크립트가 여러 모듈을 사용할 때 어떤 파일을 다루고 있는지 알고 있습니다. Path( file__) 호출의 이점은 현재 작업 중인 파일과 경로가 포함된 문자열을 반환한다는 것입니다.

  • 파일을 수정하는 동안 __file__을 호출할 수 있습니다. 결과적으로 쉘 인터프리터에서 호출하려고 하면 실행되지 않습니다.
  • __file__은(는) 주피터 노트북의 문맥.

파이썬3




import> os> print> (> 'File name : '> , os.path.basename(__file__))> print> (> 'Directory Name: '> , os.path.dirname(__file__))>

산출:

os.path.abspath를 사용하여 주어진 파일의 경로 찾기

복잡하게 들릴 수도 있지만 os.path.abspath()는 단순히 이 메서드가 이 함수에 인수로 제공된 경로에 대한 경로 이름을 반환한다는 것을 의미합니다. 문서에서는 이 방법이 경로 이름 path의 정규화된 절대 버전을 생성한다고 주장합니다.

예시 1: 실행 중인 파일의 절대 경로를 얻으려면.

파이썬3




import> os> print> (> 'Absolute path of file: '> ,> > os.path.abspath(__file__))> print> (> 'Absolute directoryname: '> ,> > os.path.dirname(os.path.abspath(__file__)))>

산출:

예시 2: os.path.abspath()에 절대 경로를 지정하면 그대로 반환되므로 __file__이 절대 경로인 경우, os.path를 설정해도 오류가 발생하지 않습니다. 압패스 (__파일__)

파이썬3




import> os> pythonfile> => 'pathfinding.py'> # if the file is present in current directory,> # then no need to specify the whole location> print> (> 'Path of the file..'> , os.path.abspath(pythonfile))> for> root, dirs, files> in> os.walk(r> 'E:geeksforgeekspath_of_given_file'> ):> > for> name> in> files:> > > # As we need to get the provided python file,> > # comparing here like this> > if> name> => => pythonfile:> > print> (os.path.abspath(os.path.join(root, name)))>

산출: