gpt4 book ai didi

python - 类型错误 : 'builtin_function_or_method' object has no attribute '__getitem__'

转载 作者:太空狗 更新时间:2023-10-30 00:21:37 24 4
gpt4 key购买 nike

我有简单的 python 函数。

def readMainTemplate(templateFile):
template = open(templateFile, 'r')
data = template.read()
index1 = data.index['['] #originally I passed it into data[]
index2 = data.index[']']
template.close()
return data[index1:index2]

def writeMainTemplate(template, name):
file = open(name, 'w')
file.write(template)
file.close()

#runMainTemplate('main.template')
def runMainTemplate(template):
code = readMainTemplate(template)
writeMainTemplate(code, 'main.cpp')

他们基本上假设从文件中读取某种模板(类似这样的东西)

--template "main"
[
#include <iostream>

using namespace std;

int main()
{
return 0;
}
]

然后写入文件(基本生成main.cpp模板)

我使用这个命令从命令行运行它

python -c "from genmain import runMainTemplate; runMainTemplate('main.template')"

但是我遇到了这个错误

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "genmain.py", line 18, in runMainTemplate
code = readMainTemplate(template)
File "genmain.py", line 6, in readMainTemplate
index1 = data.index['['] #originally I passed it into data[]
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

我认为 data = template.read() 应该返回 string 并且 string 应该允许执行操作切片 [:]

但是为什么会出现错误呢?

还有一个问题:我应该把 python 脚本放在哪里才能在文件系统中的任何地方运行它?(我想在文件系统中的任何地方生成文件通过提供模板路径的当前文件夹)

最佳答案

问题是 index 是一个方法,需要用 () 而不是 [] 来调用。使用 Kasra 的示例:

>>> s="aeer"
>>> s.index('a')
0

关于python - 类型错误 : 'builtin_function_or_method' object has no attribute '__getitem__' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27702727/

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