在数据结构中存储动态值
Store dynamic values in a data structure
每当我 运行 我的程序时,我都有一些文本存储在数组 'A'(全局数据结构)中。
现在,下次我 运行 相同的程序时,我想将新文本附加到相同的数组 'A'。
例如:第一次我 运行 程序,输入值 (1,12,32) 被添加到数组 A,下一次我 运行 相同的程序,输入值 ( 18,7,92) .. 我希望结果数组为 [1,12,32,18,7,92]
所以基本上每次我 运行 程序时,新的输入数据都应该附加到那个全局数组。
我怎样才能做到这一点?
谢谢。
尝试使用pickle
模块:
import pickle
data = [int(el) for el in raw_input().split()]
try:
new = pickle.load(open("save.p", "rb")) + data
except IOError:
new = data
pickle.dump(new, open("save.p", "wb"))
print pickle.load(open("save.p", "rb"))
简单,你需要用append
这种方式打开文件
file_ = open("MyFile.txt",'a')
input_ = whatever
file_.write(input)
我会研究 pickle,这样您的数据结构将保持 python 类型,而不是解析纯文本文件。
import pickle
import sys
new_array = map(int, sys.argv[1:])
try:
with open("datafile", "r") as fin:
old_array = pickle.load(fin)
except IOError:
# File doesn't exist
old_array = []
with open("datafile", "w") as fout:
pickle.dump(old_array + new_array)
请注意,这将尝试将任何命令行参数转换为 int
s(我这样做是因为您的示例仅包含 int
s)。
每当我 运行 我的程序时,我都有一些文本存储在数组 'A'(全局数据结构)中。
现在,下次我 运行 相同的程序时,我想将新文本附加到相同的数组 'A'。
例如:第一次我 运行 程序,输入值 (1,12,32) 被添加到数组 A,下一次我 运行 相同的程序,输入值 ( 18,7,92) .. 我希望结果数组为 [1,12,32,18,7,92]
所以基本上每次我 运行 程序时,新的输入数据都应该附加到那个全局数组。
我怎样才能做到这一点?
谢谢。
尝试使用pickle
模块:
import pickle
data = [int(el) for el in raw_input().split()]
try:
new = pickle.load(open("save.p", "rb")) + data
except IOError:
new = data
pickle.dump(new, open("save.p", "wb"))
print pickle.load(open("save.p", "rb"))
简单,你需要用append
这种方式打开文件
file_ = open("MyFile.txt",'a')
input_ = whatever
file_.write(input)
我会研究 pickle,这样您的数据结构将保持 python 类型,而不是解析纯文本文件。
import pickle
import sys
new_array = map(int, sys.argv[1:])
try:
with open("datafile", "r") as fin:
old_array = pickle.load(fin)
except IOError:
# File doesn't exist
old_array = []
with open("datafile", "w") as fout:
pickle.dump(old_array + new_array)
请注意,这将尝试将任何命令行参数转换为 int
s(我这样做是因为您的示例仅包含 int
s)。