2012-07-27 4 views
0

파이썬에서는 텍스트 파일을 열고 줄 단위로 읽은 다음 줄을 평가하기 전에 strip()합니다. 라인을 평가할 때 if 문에 라인이 "임의"인지 확인한 다음 임의의 숫자를 genRandom이라는 변수에 넣습니다.Python .replace() Error

모든 라인에
thisLine.replace("genRANDOM",genRandom) #Replace genRANDOM with the random number

, 확인을 작동하는 것 같다 : I는 다음과 같습니다 내 코드의 다른 라인.

Traceback (most recent call last): 
    File "D:\Mass Storage\pythonscripts\TurnByTurn\execute.py", line 37, in <module> 
    thisLine.replace("genRANDOM",genRandom) #Replace genRANDOM with the random number 
TypeError: expected a character buffer object 

가 어떻게이 문제를 해결할 수 있습니다 :이 오류가 발생,

-genRANDOM

내 스크립트가 그 라인을 평가 할 때마다 : 입력 텍스트 파일에서,이과 같은 줄이? 미리 감사드립니다!

+0

try'str (genRandom)' – JBernardo

답변

2

"genRANDOM" 문자열을 숫자 genRandom으로 바꾸라고 말하고 있습니다. 그것은 "문자 버퍼 객체"(문자열 같은)를 기대하기 때문에 작동하지 않습니다. 숫자가 아닙니다.

대신 문자를 4 대신 "4"으로 바꾸려면 str(genRandom)을 시도하십시오.

또한 변수 이름을 다른 것으로 지정할 수도 있습니다. genRandom은 생성 된 임의의 숫자가 아닌 나에게 임의의 숫자를 생성하는 함수처럼 들립니다.

+0

genRandom은 변수입니다. 내가 말했듯이, 그것은 무작위로 생성 된 번호입니다. str (genRandom()), 그래도 고마워! – Andrey

+0

@ghostmancer 그래, 미안, 나는 그 질문의 원래 부분을 놓쳤다. 제 편집에서 말하는 것처럼,'genRandom'은 숫자보다는 제게 더 많은 함수처럼 강하게 들립니다. :) – Dougal