2013-08-18 1 views
-3

숫자가 3 (2, 100, 150)인데이를 .txt 파일에서 검색하고 변경 한 다음 넣을 수 있습니다. 뒤로. 수천 가지를 시도했지만 아무것도 찾을 수 없습니다.파이썬에서 숫자를 저장 및 검색하고 변경할 수있는 방법

이것은 제가 시도한 몇 가지 코드입니다. 제가 실수 한 부분이 있다면 시도하고 수정하십시오.

with open('bankstatmentrubyoscarpoints.py') as f: 
for ln in f: 
    a = [int(x) for x in ln.split()] 


    date = a[0] 
    credit = a[1] 
    balence = a[2] 
    ndate = raw_input('new date is') 
    ncredit = raw_input('the new credit is') 
    f.write('\n') 
    f.write(ndate) 
    f.write('\t') 
    f.write(ncredit) 
    f.write('\t') 
    f.write(nbalence)  

f.close 

답변은 놀라 울 것입니다.

+2

어떻게 작동하지 않습니까? –

+0

텍스트 파일에있는 숫자 만있는 경우 다음을 수행하여 파일의 내용을 지울 수 있습니다. 'open ('bankstatmentrubyoscarpoints.py ','w + ')' 이제 글을 쓸 때 파일의 내용을 추가 할 새 항목으로 덮어 써야합니다. – smac89

+0

Stack Overflow에 오신 것을 환영합니다. 곧 [About] 페이지를 읽으십시오. 나는 당신의 코멘트 '나는 수천 가지를 시도했다'라고 생각합니다. 과장입니다. 액면 그대로 정확한 것으로 받아 들여지지 않을 것입니다. 어쩌면 당신은 '나는 많은 것들을 시도했다'고 말했어 야했다. 파이썬 매뉴얼의 어느 부분을 보셨습니까? 'r +'의 장점을 공개 모드로 생각하십니까? 입력 한 내용이 한 줄에 모든 숫자와 함께 표시됩니다. 출력 결과가 세 줄로 표시됩니다. 하나의 형식 (작품 중 하나)을 고르고 그 형식을 고수해야합니다. _ [... 계속 ...] _ –

답변

1

이 코드는 세 가지 문제가 있습니다

  1. 잘못된 들여 쓰기 : with는 새로운 블록 ("스위트")을 소개하고 그 다음에 적어도 하나의 들여 쓰기 문이 있어야합니다.

  2. open('bankstatmentrubyoscarpoints.py')은 파일을 읽기 모드로 텍스트 파일로 엽니 다. 당신은 그것에 쓰려고합니다. 읽고 쓰고 싶으면 mode = 'rw'을 제공해야합니다.

  3. with 문으로 열린 파일을 닫으려고합니다. with 문은 사용자가 그렇게 할 필요가 없다는 점에서 중요합니다. 또한 실제로는 f.close을 호출하지 않습니다. 함수 호출에는 대괄호 ()이 필요하기 때문입니다.

+1

불편을 끼쳐 드려 죄송합니다. 지난 몇 년 전에이 코드를 업데이트했습니다. – oscarandersonbate

관련 문제