[python] Python에서 Linux와 Windows 모두에서 “/”(디렉토리 구분 기호)를 사용하는 방법은 무엇입니까?

폴더에서 특정 파일을 만들기 위해 /를 사용하는 코드를 파이썬으로 작성했습니다 .Windows에서 코드를 사용하려는 경우 작동하지 않습니다 .Windows 및 Linux에서 코드를 사용할 수있는 방법이 있습니까?

파이썬에서는이 코드를 사용하고 있습니다 :

pathfile=os.path.dirname(templateFile)
rootTree.write(''+pathfile+'/output/log.txt')

Windows 컴퓨터에서 코드를 사용하면 코드가 작동하지 않는다고 가정합니다.

Linux와 Windows에서 “/”(디렉토리 구분 기호)를 어떻게 사용합니까?



답변

사용하십시오 os.path.join(). 예 : os.path.join(pathfile,"output","log.txt").

코드에서 다음과 같습니다. rootTree.write(os.path.join(pathfile,"output","log.txt"))


답변

사용하다:

import os
print os.sep

현재 OS에서 구분 기호가 어떻게 보이는지 확인하십시오.
코드에서 다음을 사용할 수 있습니다.

import os
path = os.path.join('folder_name', 'file_name')


답변

os.sep 를 사용할 수 있습니다 :

>>> import os
>>> os.sep
'/'


답변

os.path.normpath(pathname)Windows 에서는 /경로 구분 기호를 \구분 기호로 변환하므로 언급해야합니다 . 또한 중복 상위 수준 참조 … 예를 축소, A/B그리고 A/foo/../B그리고 A/./B모두가 A/B. 그리고 당신이 Windows라면, 이것들은 모두가 A\B됩니다.


답변

운 좋게도 Python 3.4+를 실행하려면 다음을 사용할 수 있습니다 pathlib.

from pathlib import Path

path = Path(dir, subdir, filename)  # returns a path of the system's path flavour

또는 동등하게

path = Path(dir) / subdir / filename


답변

도움이되는 유용한 링크 :


답변

DO가 import os다음 사용을os.sep