如何使用python写入特定位置的文件?

时间:2011-06-24 10:59:41

标签: python

我想通过映射python文件中的键来替换字典值。如果可以,有人帮助我,我是这个领域的新人。我的英语..

1 个答案:

答案 0 :(得分:1)

我不太确定我理解你的问题,但我会尽力帮助。

要将对象保存到Python文件,您可以使用名为Pickle的过程。

你要做的是将你的对象写到文件中,然后如果你想改变它,你可以取消改变,改变价值,然后重新制作。

import pickle

# Write object to file 
sampleDict = {'a': 1, 'b': 2, 'c': 3}
output = open('dictionary.pickle', 'wb')
pickle.dump(sampleDict, output)
output.close()

# Read object back in
pickledDictionary = open('dictionary.pickle', 'rb')
reimportSampleDict = pickle.load(pickledDictionary)
pickledDictionary.close()

# So far so good... No we add an item and repickle.
sampleDictNew['new_value'] = 4
pickledDictionary = open('dictionary.pickle', 'rb')
pickle.dump(reimportSampleDict, output)
pickledDictionary.close()

print sampleDict
print reimportSampleDict

请注意,如果您尝试在Python中对标准字典中的键进行排序,那么这是一个坏主意。 Python不保证密钥将保留其添加位置。

如果您需要能够按键对字典进行排序并可靠地插入字典中的某些位置,请尝试将Python 3与新的Ordered Dictionary集合一起使用。有关详细信息,请参阅此处:http://docs.python.org/dev/whatsnew/2.7.html#pep-0372

如果您使用Python 2. *,请查看:http://www.voidspace.org.uk/python/odict.html,因为它提供类似的功能。

无论哪种方式,相同的Pickle过程都可以用于Dictionary对象和Ordered Dictionary对象。

我希望这有帮助,

Jeffrey Kevin Pry