[python] Python : PATH 환경 변수를 수정하는 플랫폼 독립적 인 방법

PATH파이썬을 사용하여 플랫폼 독립적 인 방식으로 환경 변수 를 수정하는 방법이 있습니까?

비슷한 것 os.path.join()?



답변

을 수정할 수 있어야합니다 os.environ.

os.pathsep다른 경로를 구분하는 문자 이므로 새 경로를 각각 추가하려면 이것을 사용해야합니다.

os.environ["PATH"] += os.pathsep + path

또는 목록에 추가 할 경로가 여러 개인 경우 :

os.environ["PATH"] += os.pathsep + os.pathsep.join(pathlist)

앞서 언급했듯이, os.path.join별도의 부분에서 구성해야하는 경우 추가해야하는 각 개별 경로에 사용할 수도 있습니다.


답변

주의하시기 바랍니다 os.environ실제로 사전 아니다. setenv를 사용하여 현재 프로세스에서 환경 변수를 실제로 설정 하는 특별한 사전 과 같은 객체입니다 .

>>> os.environ.__class__
<class os._Environ at 0x100472050>
>>> import os
>>> os.environ["HELLO"] = "WORLD"
>>> os.getenv("HELLO")
'WORLD'

즉 , 동일한 프로세스에서 실행되는 C 코드에 PATH(및 기타 환경 변수) 표시됩니다.

(댓글은 서식을 포함 할 수 없기 때문에 답을 입력해야하는데 중요한 포인트라고 생각합니다. 이것은 실제로 ‘export’에 해당하는 댓글이 없다는 댓글에 대한 댓글 입니다.)


답변

Python에서 환경 변수를 수정할 때주의해야 할 점은 “export”셸 명령에 해당하는 것이 없다는 것입니다. 현재 프로세스에 변경 사항을 주입하는 방법은 없으며 자식 프로세스 만 있습니다.


답변