2016-08-28 3 views
0

파이썬으로 파일을 열고 작업하고 싶지만 전체 경로 대신 파일을 참조 할 때 %systemdrive%을 사용하고 싶습니다. 이 코드 조각 작품 :파이썬에서 % systemdrive % 사용하기

if not os.path.isfile('C:\\Work\\test\sample.txt'): 

이되지 않습니다

if not os.path.isfile('%systemdrive%\\Work\\test\\sample.txt'): 

어떤 생각? 미리 감사드립니다.

답변

1

당신은 os.path.expandvars라는 이름의이 문제를 해결하기위한 전용 기능이 있습니다 os.environ

import os 
import os.path 
fn = r'{0}\Work\test\sample.txt'.format(os.environ['systemdrive']) 
if not os.path.isfile(fn): 
    ... 
+0

감사합니다. :) – Michel

2

를 사용할 수 있습니다.

환경 변수를 확장하여 인수를 반환하십시오. 의 부분 문자열 $name 또는 ${name}은 변수 이름 의 변수 이름으로 바뀝니다. 잘못된 변수 이름과 존재하지 않는 변수에 대한 참조는 변경되지 않습니다.

Windows의 경우 $name${name} 외에도 %name% 확장이 지원됩니다.

if not os.path.isfile(os.path.expandvars('%systemdrive%\\Work\\test\\sample.txt')): 
    pass # do something 
+0

감사합니다! :) – Michel

+0

@Michel은 도움이 되었다면 [대답 수락] (http://stackoverflow.com/help/someone-answers)을 고려합니다. –

+0

도와 드리겠습니다. 1 문제에 대한 최선의 해결책이라고 생각되는 답변을 하나 선택하십시오. 2 답변을 수락 된 것으로 표시하려면 답변 옆의 확인 표시를 클릭하여 회색으로 표시되어 채워지십시오. 3 수락 된 응답을 언제든지 변경하거나 수락을 취소 할 수 있습니다. 나는 2 점을 못 찾는다 .... – Michel

관련 문제