반응형
파일 또는 파일 유사 개체에 대한 힌트를 입력하십시오.
Python에서 파일이나 파일 같은 오브젝트에 사용할 수 있는 올바른 유형의 힌트가 있습니까?예를 들어, 이 함수의 반환값을 입력하려면 어떻게 해야 합니까?
def foo() -> ???:
return open('bar')
다음 중 하나를 사용합니다.typing.TextIO
또는typing.BinaryIO
텍스트 모드 또는 바이너리 모드로 각각 열려 있는 파일에 대한 형식입니다.
문서에서:
학급
typing.IO
I/O 스트림 유형의 래퍼 네임스페이스입니다.
이것은 범용 유형을 정의합니다.
IO[AnyStr]
및 에일리어스TextIO
그리고.BinaryIO
각각에 대해서IO[str]
그리고.IO[bytes]
이들은 에 의해 반환되는 등의 I/O 스트림 유형을 나타냅니다.open()
.
간단한 답변:
- 넌 분명히 말해야 해.그것은
from typing import TextIO
뿐만 아니라.from typing import *
. - 사용하다
IO
어떤 종류의 파일을 지정하지 않고 파일을 의미하다 - 사용하다
TextIO
또는BinaryIO
종류를 알면 - 현재 쓰기 또는 인코딩을 위해 열도록 지정할 수 없습니다.
예를 들어 다음과 같습니다.
from typing import BinaryIO
def binf(inf: BinaryIO):
pass
with open('x') as f:
binf(f)
(PyCharm의) 검사 오류를 나타냅니다.Expected type 'BinaryIO', got 'TextIO' instead
언급URL : https://stackoverflow.com/questions/38569401/type-hint-for-a-file-or-file-like-object
반응형
'source' 카테고리의 다른 글
네이티브 스크립트는 vuex 요청이 완료될 때까지 요청을 기다립니다. (0) | 2022.09.04 |
---|---|
Larabel 5의 모든 뷰에 데이터를 전달하는 방법 (0) | 2022.09.04 |
vue.js 응용 프로그램의 정적 자산에 대한 경로 (0) | 2022.09.04 |
Vue 컴포넌트를 외부 프로젝트에 공개하다 (0) | 2022.09.04 |
동일한 표의 다른 열의 데이터와 일치하도록 열을 업데이트하는 방법 (0) | 2022.09.04 |