파이썬에서 PATH 환경 변수 구분 기호를 얻는 방법은 무엇입니까?


156

실행 가능한 검색 경로에서와 같이 여러 디렉토리를 연결해야하는 경우 os 종속 구분 문자가 있습니다. Windows의 ';'경우 Linux의 경우 ':'입니다. 파이썬에서 어떤 캐릭터를 쪼개는 방법이 있습니까?

이 질문에 대한 토론에서 파이썬을 사용하여 파이썬 경로를 어떻게 알 수 있습니까? os.sep그렇게 할 것을 제안 합니다. 그 대답은 디렉토리 또는 파일 이름의 구성 요소를 구분하는 기호이므로 '\\'또는 '/'입니다.

답변:


220

219
나처럼, 당신이이 질문의 본문을 읽지 않고 제목으로 갔다면, 이것이 파일 시스템 경로의 요소를 구분하는 문자라고 생각할 것이다 (Linux와 MacOSX에서는 슬래시, Windows에서는 백 슬래시). 실행 가능한 명령을 찾는 데 사용되는 쉘 PATH의 요소를 구분하는 문자가 아닙니다 . os.sep또는 os.path.sep파일 시스템 경로에 필요한 것입니다.
페리

71
os.pathsep이다 :;동안 os.path.sep이다 \\ /- 놀랍게도 제대로 선택 가끔 파이썬에서 이름이 나를 공격. 그것은 .너무 큰 차이를 만듭니다.
ArtOfWarfare

1
@Perry 나는 질문을 편집했다. 바라건대 내 편집으로 혼란을 해결합니다 (이 질문은 "파일 시스템 경로"대신 "PATH 환경 변수"에 대해 묻고 있음을 나타냅니다).
Trevor Boyd Smith

그래서 거기 os.sepos.path.sep동일있는뿐만 아니라 os.pathsep하고 os.path.pathsep있는도 동일하다. 그들은 왜 이것을 할 것입니까?
BallpointBen


12

좀 더 명시 적으로 만들기 (나 같은 파이썬 초보자를 위해)

import os
print(os.pathsep)

4

좋습니다, 그래서 :

  • os.pathsep즉 환경 변수 ;에서 분리 자이며 분리 자입니다 PATH.
  • os.path.sep이것은 /유닉스 / 리눅스와 \Windows에 있으며 경로 구성 요소 사이의 구분자입니다.

유사성은 혼란의 원천입니다.


질문을 읽었습니까? os.path.sepA와 답변입니다 다른 질문입니다.
Mark Ransom

네 말이 맞아, 고마워! 실제로이 페이지는 검색 결과 중 하나로 제안되었지만 실제로는 '\'및 '/'시스템 별 구분 기호 (os.path.sep)를 찾고 있다는 사실에 혼란이있었습니다.
DVV

1

작업 디렉토리 / 특정 폴더의 샘플 경로입니다.

 import os
 my = os.path.sep+ "testImages" + os.path.sep + "imageHidden.png"
 print(my)

Linux 용 출력

/home/*******/Desktop/folder/PlayWithPy/src/testImages/imageHidden.png

Windows 용 출력

C:\\Users\\Administrator\\Desktop\\folder\\tests\\testImages\\imageHidden.png

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.