Python从文件中读取数组

时间:2013-11-05 12:01:07

标签: python arrays json list

对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?")

(选择只是为了获得一个随机的等等)

2 个答案:

答案 0 :(得分: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的有效方法。我怀疑你没有正确地连接代码片段。

答案 1 :(得分:-1)

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

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

那应该给你你的字符串,然后你可以使用json

加载到一个对象