답변:
여기서 핵심 은 열린 파일을 나타내는 객체 의 name속성입니다 f. 다음과 같이 얻을 수 있습니다.
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'
도움이 되나요?
tempfile모듈 문서 , 특히에 대한 문서를 읽으십시오 . 이것은 임시 파일의 특정 경우이며 문서에서 볼 수 있듯이 이미 기존 솔루션이 있습니다. 이름을 읽으려는 경우에 사용할 수 없습니다. tempfile.NamedTemporaryFiletempfile.TemporaryFiletempfile.TemporaryFile
나는 똑같은 문제가 있었다. 상대 경로를 사용하는 경우 os.path.dirname (path)는 상대 경로 만 반환합니다. os.path.realpath 는 트릭을 수행합니다.
>>> import os
>>> f = open('file.txt')
>>> os.path.realpath(f.name)
os.path.realpath하면 '~ / Documents / text.txt'대신 '~ / text.txt'가 반환됩니다.
디렉토리 이름 만 얻고 파일 이름이 필요하지 않은 경우 osPython 모듈을 사용하여 다음과 같은 일반적인 방법으로 수행 할 수 있습니다 .
>>> import os
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> os.path.dirname(f.name)
>>> '/Users/Desktop/'
이렇게하면 디렉토리 구조를 파악할 수 있습니다.
f = open('febROSTER2012.xls'). 전체 경로에 어떻게 도달 할 수 있습니까?
tempfile.TemporaryFile(mode='w', prefix='xxx', suffix='.txt')작동하지 않습니다!