0

对 Python 来说很新,所以我正在努力挑选这部分。我想将数组放入文本文件并在我的 .py 中调用它们

这是我所拥有的:

import json
myfile = open("lists.txt")
myVars = json.load(myfile)
myVars['alist']

并在 lists.txt 文件中:

{
    "alist" : [
        ["1", "2", "3"]
    ],
    "b" : [
        ["test"]
    ]
}

我在我的 .py 中调用了它:

if message.body == "!r alist":
    room.message("I recommend: " + choice(alist))
    print("did it work?")

(选择只是得到一个随机的,等等)

4

2 回答 2

0

代码片段没有加起来。您的 json 加载很好。您可以将文件指针传递给 json.load

问题似乎在这里:

if message.body == "!r alist":
  room.message("I recommend: " + choice(alist))
  print("did it work?")

选择是一种方法/功能吗?它在哪里定义?此代码段中声明的 alist 在哪里。加载 json 文件后,您需要使用以下命令访问 alist:

myAList = myVars['alist']
choice(myAList[0])

假设该选项是可以访问 myAList 的有效方法。我怀疑您没有正确地将代码片段连接在一起。

于 2013-11-05T13:14:22.800 回答
-1

你只是在引用一个文件指针......你实际上并没有加载数据。

myfile = open('lists.txt').read()

那应该给你你的字符串,然后你可以使用 json 加载到一个对象中

于 2013-11-05T12:24:13.823 回答