1

我想我知道一种方法可以做到这一点,但我想看看是否有更好的方法。所以这里是我试图读取(然后写回)的一部分的文件

['Part assembly name', <name of assembled part>]
['Parts', <part1>, <part2>, <part3>]
['Quantities', 5, 8, 2]
['Part category, <category type 1>, <category type 2>]

如果我将每一行保存到一个数组中,我可以用 json 编写每一行

myfile = file('partsList.txt', 'w')
for x in (names, ingedients, volumes, category):
    json.dump(x, myfile)
    myfile.write('\n')

我应该能够读回每一行:

with open(fname) as f:
    names.append(f.readlines())
    parts.append(f.readlines())
    quanties.append(f.readlines())
    categories.append(f.readlines())

因此,从我的文件中读取所有不同的零件组件后,我应该有四个数组(或者可能是 1 个二维数组)

names = [<name of assembly 1>, <name of assembly 2>, <name of assembly 3>]
parts = [<array of parts for 1>, <array of parts for 2>, <array of parts for 3>]
quantites = [<array of quantites  for 1>, <array of quantites  for 2>, <array of quantites for 3>]
categories= [<array of categoriesfor 1>, <array of categoriesfor 2>, <array of categoriesfor 3>]

有没有更好/更简单的方法来做到这一点?我不想尝试重新发明轮子。谢谢!

4

1 回答 1

1

使用字典,然后编码和写入一次,读取和解码一次

with file('partsList.txt', 'w') as myfile:
    data = {'names': names, 'ingredients': ingredients, 'volumes': volumes, 'category': category}
    json.dump(data, myfile)

阅读:

with file('partsList.txt') as myfile:
    data = json.load(myfile)

names = data['names']
# etc.

或者更好的是,首先从字典而不是单独的变量开始。

于 2013-08-01T17:28:55.630 回答