주 스크립트에서 가져 오려는 모듈에 함수 (read()
)를 작성했습니다.이 함수는 정규 표현식으로 파일을 읽고 간단히 배열을 만듭니다.파이썬 : 함수 인수로 파일 객체
이 함수가 취하는 유일한 매개 변수는 읽어야하는 파일 (.txt, 숫자 만)입니다. 주체 스크립트 data = open('output99.txt', 'r')
에 파일을 열어서 객체 data
을 입력 한 다음 파일 객체 data
을 함수에 전달하면 원하는 때마다 입력 파일을 변경할 수 있습니다. 문제가 될 수 있습니까? 내가 그렇게 할 경우 는 기능이 작동하고, 하늘의 배열을 반환하지 않기 때문에 : 나는 함수 내부의 파일을 열 경우
def read(data):
n_lines = sum(1 for line in data)
array = np.empty((n_lines,13))
re_re = re.compile('^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)')
i=0
for line in data:
reg = re_re.search(line)
if(re!=None):
array[i,0] = reg.group(1)
array[i,1] = reg.group(2)
array[i,2] = reg.group(3)
array[i,3] = reg.group(4)
array[i,4] = reg.group(5)
array[i,5] = reg.group(6)
array[i,6] = reg.group(7)
array[i,7] = reg.group(8)
array[i,8] = reg.group(9)
array[i,9] = reg.group(10)
array[i,10] = reg.group(11)
array[i,11] = reg.group(12)
array[i,12] = reg.group(13)
i+=1
return array
이 제대로 작동을하지만, 내가 원하는 때 훨씬 덜 빠른 것 입력 파일을 변경합니다. 아무도 날 설명 할 수 있을까?
감사합니다. 문제가 해결되었습니다. 죄송합니다. 질문에 '파일 이름'을 '파일 객체'로 변경하겠습니다. – Argentina