-2

我有一个返回名为的对象列表的函数Query
该函数查找pkl目录中的所有文件,然后对文件进行序列化。
编码:

from Query import Query
def createQueryArr():
    qry = []
    os.chdir(CONST_QUERY_DIR)
    for queryFile in os.listdir("."):
        if queryFile.endswith(".pkl"):
            pkl_file = open(queryFile, 'rb')
            qry = pickle.load(pkl_file)
            pkl_file.close()
            queryArr.append(qry)
    return queryArr

但是,返回数组包含扭曲的数据。
迭代数组并打印每个对象时,会打印 0 和 1。
Query实现__str__(self)
迭代代码:

arr = createQueryArr()
for qry in range(len(arr)):
    print(qry)
4

1 回答 1

0

这部分:

for qry in range(len(arr)):

迭代 的索引arr,而不是元素。因此,这部分:

print(qry)

打印索引。你要

for qry in arr:
    print(qry)

或者print qry如果您使用的是 Python 2。

于 2013-08-15T01:10:48.530 回答