gpt4 book ai didi

python - Python 字符串中的“创建”导致 "' 类的 KeyError“”

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:45 26 4
gpt4 key购买 nike

我正在尝试使用“Python-Driver”为 Cassandra(NoSQL 数据库)创建一类命令。您可以使用 session.execute() 在您的数据库上运行 SQL 命令。无论如何,我正在尝试创建一个函数来创建一个键空间。

代码如下:

def createKeySpace(self, title, class_type='SimpleStrategy', replication_factor='3'):
self.session.execute("CREATE KEYSPACE {} WITH REPLICATION = \
{ 'class' : '{}', 'replication_factor' : {} };\
".format(title, class_type, replication_factor))

问题是,如果我尝试使用这个函数,我会得到错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "db_commands.py", line 12, in createKeySpace
".format('CREATE', title, class_type, replication_factor))
KeyError: " 'class' "

我认为值得注意的一点:我注意到我在 Sublime Text 中的字符串中的 = 符号是红色的,而通常的字符串颜色是黄色的。 如果我从字符串中取出“CREATE”,等号将恢复为黄色!

这是因为 Python 已经将 CREATE 识别为 SQL 语法并且不喜欢我用 .format() 声明字符串的方式吗?任何帮助都会很棒! :)

最佳答案

当使用 format 时,您需要转义本应是文字花括号的花括号,例如

"CREATE {} WITH REPLICATION = \
{{ 'class' : '{}', 'replication_factor' : {} }};".format('a','b','c')

关于python - Python 字符串中的“创建”导致 "' 类的 KeyError“”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31776622/

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