파이썬 함수를 cython으로 컴파일하고 싶습니다. 일부 파일을 건너 뛰고 전체 파일을 읽지 않고 슬라이싱하여 메모리가 부족해지기 때문입니다. 나는 이런 식으로 뭔가 가지고 올 수 :파일 핸들을 cython 함수에 전달하십시오.
def FromFileSkip(fid, count=1, skip=0):
if skip>=0:
data = numpy.zeros(count)
k = 0
while k<count:
try:
data[k] = numpy.fromfile(fid, count=1, dtype=dtype)
fid.seek(skip, 1)
k +=1
except ValueError:
data = data[:k]
break
return data
을 한 후 나는이 같은 기능을 사용할 수 있습니다 사이 썬과 기능 "FromFileSkip을"컴파일, 그러나
f = open(filename)
data = FromFileSkip(f,...
을, 나는 정의하고 싶습니다 함수에 관련된 모든 유형, 그래서 "fid"뿐만 아니라 파일 핸들러. 그것은 "표준"타입이 아니기 때문에 어떻게 cython에서 타입을 정의 할 수 있습니까? 정수. 감사합니다. .
왜 변수를 입력해야합니까? 이후 파이썬 개체가 당신이 어떤 속도를 얻을 실 거예요. – Bakuriu
클래스 변수에 할당하려면'object' 유형을 사용하십시오. –
그래서 파일 핸들을 입력하면별로 바뀌지 않을까요? 예외없이 모든 변수를 입력하면 일부 변수를 입력하는 것보다 성능이 향상된다고 생각했습니다. – user2061949