흥미롭게도이 웹 사이트에서 정확한 질문을 발견했습니다. 정확하게 똑같은 숙제 문제가 있었지만 문제에 대한 정보가 충분하지 않아 결론에 도달하지 못했습니다. 바라기를, 나는 더 운이 좋을 것이다.Python의 고정 길이 레코드 정보 교환
나는 파이썬 3 숙제를 연구하고 있으며, 나는 정말로 고심하고있다.
주어진 정확한 메시지는 다음과 같습니다
는 "당신은 파일 이름 'P', 이름 'F', LASTNAME 'L', 새로운 생일 'B'를 전달됩니다 고정 길이를로드합니다. P에 파일을 기록하고 첫 번째로 F, L을 찾고 생일을 B로 변경하십시오. 그런 다음 파일을 저장하십시오. "
주어진 변수를 사용하여 사람의 생일을 알 수없는 것으로 바꿀 수있는 프로그램을 만드는 아이디어입니다.
앤더슨 06062010 : 파일 - 그리고 그것이 알고 (-) 에드 P 내가 인쇄 오전 참을성이 사람 인아담 스미스 (Adam Smith) 11111985Theodore 앤더슨
03201990Monty 비스킷 통 10181980Adam
스미 더스 10101960Ruthy
간격은 붙여 넣기에 분실하지만, 이름과 성 (16) 각각의 고정 된 길이를 가지고 있고, 생일은 8
의 고정 된 길이 birthd이야 개인의 이름이
아담 스미 더스
내가 그의 생일을 변경하려고 오전 : 바깥 I 변경 시도하고있다
00000000
나는 시도했다 생일을 slice를 사용하여 바꾸기 (우리의 지시에 따라, 파이썬에서 텍스트 파일을 여는 것은 파일을 문자열로 바꿈으로써 immutabel입니다). 내가 스크립트하려고 할 때, :
with open(P) as p:
new_file = p[0:141] + B + p[161:]
을 나는
내가 지금 몇 시간 동안이 변통하기 위해 노력했습니다 " '_io.TextIOWrapper'개체가 첨자에 있지 않습니다"오류 메시지가 나타납니다 만, 더 이상 가까이 가지 않았다. 모든 제안은이 시점에서 인정 될 것입니다. 고마워요
힌트 : 다음은 걸릴 확장 할 수있는 부분 코드의 전체 파일을 읽고, 공백을 분할, 당신은 지금, 새로운 목록을 얻을에 마지막 목록의 3 개 요소를 스테핑 새 목록을 만들 수 있습니다 시간, 이제 2 차원 배열을 얻었습니다. 나머지는 스스로 생각해보십시오! –