2012-08-31 4 views
0

예를 들어, 내가 정적 폴더의 정적 파일이 루트에서 파일의 상대 경로는은 파일의 경로를 쉽게 가져올 수있는 방법이어야합니까?

/static 

루트 경로는 D입니다 : \ PROJ \ SRC

내가 xml 파일을로드 할 경우, 전 단지 예를 들어, 상대 경로를 제공해야합니다

/static/xml/a.xml. 

내가 문자열, '../'를 추가 또는 '../../'내가했다 모듈, 즉의 위치에 따라 변경할 필요가 없습니다 바보 같아서 표준 자유를 쓰는 게 더 나을거야?

프로젝트 abs 루트 경로 + 상대 경로는 정상이어야하지만 시도했으나 실패했습니다.

+0

는 A 파이썬에서 아주 쉽게 그것의 다른 부분으로 얻을 수 /static/xml/a.xml

으로 파일 이름의 전체 경로가있는 경우 디렉토리 분리자인'/'로 시작하는 경로는 일반적으로 절대 경로가 아닌 유닉스 용어로 "상대적"이라고하지 않는다. '/ static'의 상대 버전은 단순히'static'입니다. – unwind

+0

@unwind 또는'./static' – Fabian

+0

Windows 또는 Linux를 사용하고 있습니까? '/ static','../' 등에 대해서 이야기했기 때문에 루트 디렉토리가'D : \ proj \ src'라고 말합니다. 아니면 두 개의 Oses와 공통된 데이터 파티션이 있습니까? – Bakuriu

답변

0

당신은 당신이 다음이

import os 
fullFilePathName = '/static/xml/a.xml' 
# 
# the filename 
# 
theFilename = os.path.basename(fullFilePathName) 

# 
# The path to the file 
# 
thePath = os.path.dirname(fullFilePathName) 

# 
# Join the two together to form a path 
# 
fullName = os.path.join(thePath, theFileName) 
관련 문제