0

Pythonでは、テキストファイルを開いて行ごとに読み取り、評価する前に1行をstrip()します。行を評価するとき、行が「ランダム」であるかどうかを確認するifステートメントがあり、genRandomという変数にランダムな数値を入れます。コードに次のような別の行があります。

thisLine.replace( "genRANDOM"、genRandom)#genRANDOMをランダムな数字に置き換えます

すべての行で、問題なく動作しているようです。入力テキストファイルには、次のような行があります。

-genRANDOM

スクリプトがその行を評価するたびに、次のエラーが発生します。

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

どうすればこれを修正できますか?前もって感謝します!

4

1 に答える 1

2

文字列を数字thisLine.replaceに置き換えるように指示しています。数値ではなく「文字バッファオブジェクト(文字列など)を期待する」ため、これは機能しません。"genRANDOM"genRandom

str(genRandom)代わりに、それを文字列に変換してみてください:"4"の代わりに4

また、変数に別の名前を付けることもできます。genRandom生成された乱数ではなく、私には乱数を生成する関数のように聞こえます。

于 2012-07-27T23:58:01.083 に答える