Linux와 Windows 모두에서 Python에서 "/"(디렉토리 구분자)를 사용하는 방법은 무엇입니까?
/를 사용하여 폴더에 특정 파일을 만드는 코드를 python으로 작성했는데, Windows에서 사용할 수 없는 코드를 Windows와 Linux에서 사용할 수 있는 방법이 있습니까?
python에서는 다음 코드를 사용합니다.
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)
변환 시에도 언급해야 합니다./
패스 분리기\
세퍼레이터를 사용합니다.또한 중복된 상위 레벨 참조를 축소합니다.A/B
그리고.A/foo/../B
그리고.A/./B
만사가 되다A/B
Windows 의 경우는, 이 모든 것이A\B
.
Python 3.4+를 실행할 수 있다면 다음을 사용할 수 있습니다.
from pathlib import Path
path = Path(dir, subdir, filename) # returns a path of the system's path flavour
또는 동등하게
path = Path(dir) / subdir / filename
도움이 되는 몇 가지 유용한 링크:
을 실행합니다.import os
그런 다음 사용os.sep
os.sep 를 사용할 수 있습니다.
import os
pathfile=os.path.dirname(templateFile)
directory = str(pathfile)+os.sep+'output'+os.sep+'log.txt'
rootTree.write(directory)
디렉토리와 파일명을 직접 작성하지 말고 파이썬에 포함된 라이브러리를 사용하십시오.
이 경우 관련된 것은 os.path 입니다.특히 디렉토리와 파일 이름 또는 디렉토리에서 새 경로 이름을 생성하고 전체 경로에서 파일 이름을 가져오는 분할을 수행합니다.
예를 들어 다음과 같습니다.
pathfile=os.path.dirname(templateFile)
p = os.path.join(pathfile, 'output')
p = os.path.join( p, 'log.txt')
rootTree.write(p)
다음과 같은 것을 찾고 있는 경우:
상위 디렉토리를 알고 하위 폴더로 이동한 다음 특정 파일로 이동할 수 있습니다.그렇다면 다음과 같은 방법을 사용합니다.
- 현재 python 3.9를 사용하고 있습니다.그 버전에는 이러한 작업을 처리하기 위한 os 모듈이 있습니다.부모 디렉토리를 취득하기 위해서:
parent_dir = os.path.pardir
- 파일 경로 구분 기호(/ 또는 \)를 하드 코딩하지 않는 것이 좋습니다.대신 위의 os 모듈에서 제공하는 운영체제 의존 메커니즘을 사용하십시오.이를 통해 다른 목적/사람을 위해 매우 많이 재사용할 수 있습니다.예를 들어 다음과 같습니다.
path = os.path.pardir + os.sep + 'utils' + os.sep + 'properties.ini'
print(f'The path to my global properties file is :: {path}')
출력::
..\properties\properties.ini
여기에서는, 메뉴얼 전체를 참조할 수첩은 다음과 같습니다. https://docs.python.org/3/library/os.html
용 i i i i를 쓴다.pathlib
그래서 저는 :을 좋아합니다.
은 ★★★pathlib
입니다.os
!
언급URL : https://stackoverflow.com/questions/16010992/how-to-use-directory-separator-in-both-linux-and-windows-in-python
'source' 카테고리의 다른 글
레지스트리 키 '...'의 값은 '1.7'이지만 '1.6'은 필수입니다.Java 1.7이 설치되어 레지스트리가 이를 가리키고 있다. (0) | 2022.11.05 |
---|---|
일주일보다 새로운 행을 선택하려면 어떻게 해야 합니까? (0) | 2022.11.05 |
Python에서 수집되지 않은 예외 기록 (0) | 2022.11.05 |
일일 수익 점유율을 기준으로 고정 값을 국가에 분할할 때 특정 값 제외 (0) | 2022.11.05 |
오래된 Mac OS의 C 컴파일러에서 \n의 값은 얼마입니까? (0) | 2022.11.05 |