Python - 파일 사용 시기 vs 오픈
사이에 무슨 차이가 있습니까?file
그리고.open
파이썬에서?어떤 것을 언제 사용해야 합니까?(2.5에 있다고 가정)
항상 사용해야 합니다.open()
.
설명서에 명시된 대로:
파일을 열 때 이 생성자를 직접 호출하는 대신 open()을 사용하는 것이 좋습니다.파일은 형식 테스트에 더 적합합니다(예: "isinstance(f, file)"라고 적음).
또한.file()
Python 3.0 이후로 제거되었습니다.
두 가지 이유:"한 가지 방법이 있어야 한다"는 파이썬 철학과file
가고 있어요.
file
실제 유형입니다(예: 사용).file('myfile.txt')
생성자를 호출하는 중입니다.open
파일 개체를 반환하는 공장 함수입니다.
python 3.0에서file
기본 제공되는 것에서 여러 클래스에 의해 구현되는 것으로 이동할 것입니다.io
라이브러리(버퍼형 리더 등이 있는 Java와 다소 유사함)
file()
int나 목록 같은 유형입니다.open()
파일을 열기 위한 함수이며, 다음을 반환합니다.file
물건.
다음은 open을 사용해야 하는 경우의 예입니다.
f = open(filename, 'r')
for line in f:
process(line)
f.close()
다음은 파일을 사용해야 하는 경우의 예입니다.
class LoggingFile(file):
def write(self, data):
sys.stderr.write("Wrote %d bytes\n" % len(data))
super(LoggingFile, self).write(data)
보시다시피, 두 가지 모두 존재하는 데는 충분한 이유가 있으며, 두 가지 모두에 대한 명확한 사용 사례가 있습니다.
기능적으로 두 가지는 동일합니다.open
부를 것입니다file
어쨌든, 그래서 현재 차이는 스타일의 문제입니다.Python 문서에서는 다음을 사용할 것을 권장합니다.open
.
파일을 열 때는 파일 생성자를 직접 호출하는 대신 open()을 사용하는 것이 좋습니다.
그 이유는 미래 버전에서는 동일한 것으로 보장되지 않기 때문입니다(open
여는 경로에 따라 다른 유형의 개체를 반환하는 팩토리 함수가 됩니다.
파일을 열 때는 open()만 사용하십시오.file()는 실제로 3.0에서 제거되고 있으며, 현재는 더 이상 사용되지 않습니다.그들은 일종의 이상한 관계를 맺었지만, file()은 지금 가고 있기 때문에 더 이상 걱정할 필요가 없습니다.
다음은 Python 2.6 문서에서 가져온 것입니다.제가 추가한 것입니다.
파일을 열 때 이 [file()] 생성자를 직접 호출하는 대신 open()을 사용하는 것이 좋습니다.파일이 유형 테스트에 더 적합합니다(예: 쓰기가 인스턴스(f, file)).
Van Rossum 씨에 따르면 open()은 현재 file()의 별칭이지만 나중에 변경될 수 있기 때문에 open()을 사용해야 합니다.
언급URL : https://stackoverflow.com/questions/112970/python-when-to-use-file-vs-open
'programing' 카테고리의 다른 글
파일 경로에서 이미지 보기를 표시하시겠습니까? (0) | 2023.07.27 |
---|---|
재설정 인덱스 이름을 지정할 수 있습니까? (0) | 2023.07.27 |
MariaDB Galera 클러스터 php 드라이버 (0) | 2023.07.27 |
sql에서 보기와 표의 차이 (0) | 2023.07.27 |
MySQL에서 병합 사용 방법 (0) | 2023.07.27 |