Python.replace()E

2024-10-02 00:26:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我打开一个文本文件并逐行读取,然后在计算它之前先strip()该行。 当我计算行时,我有一个if语句来检查行是否是“random”,然后将一个随机数放入一个名为genRandom的变量中。我的代码中还有一行是这样的:

thisLine.replace("genRANDOM",genRandom) #Replace genRANDOM with the random number

在每一条线路上,它似乎都能正常工作。在输入文本文件中,我有一行如下所示:

^{pr2}$

每当脚本对该行求值时,都会出现以下错误:

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

我该怎么解决这个问题?提前谢谢!在


Tags: the代码numberifwithrandom语句replace
1条回答
网友
1楼 · 发布于 2024-10-02 00:26:31

您告诉thisLine.replace将字符串"genRANDOM"替换为数字genRandom。这行不通,因为它“需要一个字符缓冲区对象”(如字符串),而不是数字。在

请尝试str(genRandom),将其转换为字符串:"4"而不是{}。在

另外,你可能想给变量起个别的名字;genRandom听起来像是一个生成随机数的函数,而不是生成的随机数。在

相关问题 更多 >

    热门问题