在Python中存储字符串的好方法是什么?

 jinyan胡_435 发布于 2023-01-19 11:24

我正在用Python构建一个对话机器人.虽然我想从头开始生成尽可能多的文本,但我仍然需要一种方法来编目和存储一堆对话框片段字符串.理想情况下,我想在字符串中包含某种层次结构/分类.例如:

问候:

"Oh, nice to meet you {0}" "My name is Bob, how about you?"

调情:

"Stop it" "I'm blushing" "How flattering"

等等...

虽然我可以将它们存储在数据库中,但是人们可以轻松地手动编辑不同的格式会很不错.CSV?JSON?这样的东西有先例吗?

1 个回答
  • 这取决于你想如何使用它.如果字符串仅供Python使用,则应考虑将它们存储在自己的.py文件中.是的,一个模块,但它也是一个简单的文本文件,可以由Python解释:)

    许多项目使用.py文件作为配置文件(Django)并且导入其内容非常简单,因为您只需要做,import answer_strings并且您已经在变量或类中获得它们.

    你可以这样做:

    #bot answers module
    
    greetings = ["hello {0}", "what's up {0}"]
    farewells = ["see you soon {0}", "nos vemos {0}"]
    ...
    

    并且可以随机返回等效答案等.

    另一方面,如果这些也应该由Javascript,Java,node.js或除Python以外的任何技术读取,则应使用更通用的格式,JSON,XML,YAML,您可以使用它.

    我认为这在文本文件(项目的资源)中比在数据库中更好,因为这样(如你所提到的)可以更加自定义.我还建议使用包含语义的格式.一个CSV文件是IMHO 非常冷,只是一堆数据转储到文件.使用XML,JSON等,您可以按照"问候","告别"等类别对数据进行分组.

    不要忘记,因为您有多个选项,以模块化方式构建代码并解耦是非常好的.因此,如果您做出决定并且将来需要改变,那么它将尽可能无缝地完成.

    希望这可以帮助!

    2023-01-19 11:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有