gpt4 book ai didi

python - 收到错误 "expected character buffer object",我不知道为什么

转载 作者:行者123 更新时间:2023-11-28 22:03:18 25 4
gpt4 key购买 nike

import string

file = open('Text.txt')
dataArray = file.read()
file.close()

dataArray = str(dataArray)
letters = []

qString = ""
for j in dataArray:
if j.islower() == True:
qString = qString + "l"
else:
qString = qString + "u"

for i in range(0,len(dataArray)):
indexNum = qString.find("luuuluuul")
letters.append(dataArray[indexNum+4])
qString.replace(indexNum+4,"-")

print letters

我正在用 python 编程,并试图在文本文件中找到一个字母序列,其中包含 1 个小写字母、3 个大写字母、1 个小写字母、3 个大写字母、1 个小写字母。据我所知,我所拥有的应该可以工作,但它给出了一个错误“预期的字符缓冲区对象”。我想知道是否有人能看到我哪里出错了。错误来自: qString.replace(indexNum+4,"-")

最佳答案

  1. str.replace 不是用于在索引处替换——它是用于根据内容进行替换。

    >>> "abc".replace("b","44")
    'a44c'

    出于这个原因,给您错误的行是 qString.replace(indexNum+4,"-")。最明显的解决方法可能是切掉任何一侧,然后用新内容重新连接这些部分。

  2. 通过重复追加 q = q + ... 来增长字符串是低效的。大多数时候我们做的是

    pieces = []
    for something in some_things:
    pieces.append(make_piece_of_string(something))
    s = ''.join(pieces)
  3. 您不需要在此处导入字符串

  4. 使用 str.find 而不检查 if result == -1 总是错误的。考虑改用 str.index

  5. 检查 if x == True 很愚蠢(有时还有错误)——只需检查 if x。在您的情况下,if j.islower()

  6. 您发布的代码中存在缩进错误。尝试发布与您运行过的代码完全相同的代码(最好是自包含的,而不是读取您未提供的文件等)以获得最佳答案。

关于python - 收到错误 "expected character buffer object",我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9416753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com