저는 파이썬에 매우 익숙하며 몇 가지 실습을 통해 처음 프로그램을 작성하는 것이 좋습니다. (아마도 지나치게 야심 찬 목표).텍스트 파일에 여러 함수를 수행하는 방법
나는 텍스트 파일을 가지고 있으며 거기에서 몇 가지 정보를 추출하려고합니다. 텍스트 파일은 자극 전달 소프트웨어의 출력 파일이며 열과 행으로 정렬되어 있습니다.
프로그램에서 특정 문자열이 몇 번이나 기록되었는지를 기록한 다음 파일의 주변 텍스트에서 다른 두 가지 정보도 기록하도록합니다. 다음 텍스트에서 예를 들어
:
RXXXX 9 Picture CATCH_QUAIL_600_5_3000_2590_278 1026069 7999 2 3000 3 7900 2960 other 0
RXXX 9 Picture poststim_fixation 1029236 0 1 25997 2 0 25900 other 0
RXXXX 9 Response 115 1036879 7643 1
나는 시험 번호 9 및 응답 그림 'CATCH_QUAIL'에 대한되었다는 응답이 있었다는 것을보고 싶다.
이 방법을 사용하는 가장 좋은 방법은 '응답'문자열을 찾아 위의 두 줄과 한 열에서 왼쪽으로 정보를 추출하는 것입니다.
그런 다음x= open('file')
y= x.read()
y.split()
l= y.splitlines()
내가 파일을 통해하는 것입니다주기 일부 루프를 만들 필요가 알고, 그것을 '는 찾은 경우 :
그래서, 이것은 내가 지금까지 무엇을 가지고 (나는 그것의 한심한 죄송) 응답 '문자열을 입력 한 다음 원하는 정보를 기록 할 새 루프로 이동합니다. 불행히도이를 수행하는 방법을 모릅니다.
가능한 한 전체적으로 코드 작성 방법을 배우고 싶습니다. 완전한 코드가 아닌 힌트를 줄 수 있다면 좋을 것입니다.
여기에 다른 질문 중 일부를 살펴본 결과, 내가 예상 할 수있는 질문의 범위를 훨씬 밑도는 경우 유감스럽게 생각합니다.
감사합니다,
벤
을 주셔서 감사합니다? 당신의 예제에서, 응답은 "CATCH_QUAIL .."보다는 "poststim_fixation"에 대한 것 같습니다. – Dhara
1.'y.split()'- 리턴 값을 버리는 이유는 무엇입니까? 이 줄은 현재 아무 것도하지 않습니다 (CPU 시간 사용 제외). 음, splitlines()는 어쨌든 정말로하고 싶어하는 것이므로 그 줄을 없애십시오. 2. 하나의 루프 만 필요합니다 ('enumerate()'도움말을보고 왜 도움을 얻을 수 있는지보십시오). 3. 'in'을 사용하여 문자열에 다른 문자열이 들어 있는지 테스트 할 수 있습니다. – kampu
@kampu 대단히 감사합니다, 나는 지금 그걸 가지고 놀 것입니다. – Ben