저는 파이썬을 사용하여 크로스 플랫폼 경로 교환을 수행하고 있습니다.크로스 플랫폼 경로 교환
import platform
def filenameFix(filename):
if platform.system() in ("Windows", "Microsoft"):
return filename.replace ("/Volumes/projects/", "p:/")
else:
return filename.replace("p:/", "/Volumes/projects/")
return filename
이 그러나 나는 그것이 또한 블록의 경우 처음에 Volumes/projects
에 대한 경로를 교체하려면, /Volumes/projects/
에 대한 경로를 교환 잘 작동합니다. 유일한 차이점은 슬래시 Volumes
이 제거되기 전에 ... 어떻게하면됩니까? 당신은 단지 그것을 할 경우 :
import os.path
def get_dir():
return "p:/" if platform.system() in ("Windows", "Microsoft") else "..."
def full_filename(filename):
return os.path.join(get_dir(), filename)
어떻게이 질문이 명확합니까? 그것은 아주 분명합니다. 제목은 오해의 소지가 있습니다. –
마지막 문장에서 무엇을 의미합니까? – Mark
내 생각에 그는/Volumes/projects가 없으면 볼륨을 제거했지만 볼륨/프로젝트는 슬래시없이 제거했음을 알 수 있습니다. – Nicolas78