python保存类对象到文件_用python将对象保存到文本文件的最佳方法是什么?

我正在用python编写一个简单的人工神经网络。我需要能够将给定网络的所有数据保存到一个文本文件中。具体来说,我需要保存具有以下属性的节点列表:

名称、层号、增量值、连接权重

现在,我已经创建了自己的数据格式。看起来像这样:nodeName:layer,delta,connectionWeights;

例如

^{pr2}$

从一个对象创建这个数据并解析它以从数据创建一个对象实际上是相当容易的。但是,代码很难看,而且与我创建的格式非常特定。对于上下文,下面是我编写的用于解析的代码:def readInput(self, datafile):

f = open(datafile, 'r')

DNAstring = f.read()

f.close()

#first, parse each node

allNodes = DNAstring.split(";")

for nodey in allNodes:

n = nodey.partition(":") #partition separates node name from its data

name = n[0]

data = n[2].split(",") #each data element is separated by a comma

layer = data[0]

delta = data[1]

connections = {}

connectionList = data[2].split("#") #each connection is delimited by '#'

for c in connectionList:

x = c.partition("-")

name = x[0]

weight = x[2]

connections.update({name:weight})

print("updating connection with ", name, weight)

#now we have all the data for a node, create a node object

n = Node(name, layer, delta, connections)

self.nodes.update({name:n})

我的问题是:有没有更简单的方法来完成这个过程?在我看来,必须有一个比每次要将对象保存到文本文件时创建新的数据格式和解析函数更简单的解决方案。

我是否应该尝试使用XML或JSON之类的现有格式来使代码更易于理解/修改?我该如何用python来实现这一点呢?在

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值