将元素写入另一个文件中的列表

时间:2018-04-30 11:55:33

标签: python list append

我有2个.py文件。我们将它们命名为foo.py和list.py

list.py没有任何代码,只有一个如下所示的列表:. select o.name as "Network Element Name", (SELECT CASE WHEN nt.OBJECT_TYPE_ID=8090328832013865599 /* RNC */ THEN 'RNC' WHEN nt.OBJECT_TYPE_ID=8090328832013865600 /* Node B */ THEN 'Node B' WHEN nt.OBJECT_TYPE_ID=5100558796013838330 /* BTS */ THEN 'BTS' WHEN nt.OBJECT_TYPE_ID=5100558796013838331 /* BSC */THEN 'BSC' END FROM nc_objects nt ,nc_references r WHERE r.reference = nt.object_id)as "Network Element Type" from nc_objects o; 这就是list.py包含的所有内容......

现在,foo.py有一个代码,它基本上使用list.py中的列表来只允许某些输入(应该在列表中,否则:传递)

我添加了一个代码,可以从程序内部向列表添加元素,但我无法这样做。我试过使用append()函数。这对列表没有任何改变......

请通过提供正确的代码来帮助我编辑和写入list.py中列表的更改。

感谢。

1 个答案:

答案 0 :(得分:0)

可能发生的情况是,您在程序运行时发送列表副本 - 然后附加到该列表 - 而不会影响list.py中的初始列表

我会考虑确保当你在list.py中实例化原始列表时,你没有这样做,这意味着每次调用代码块时,列表会在你调用时再次定义代码块或功能再次。

如果您正在尝试使用foo.py中的程序来显式编辑list.py文件,那么您可能只需使用python的pickle module,它将python对象的状态保存到文件中,然后您可以在以后正常加载它们,例如:

try:
    with open(list, 'r') as file:
        yourlist = pickle.load(file)
except(FileNotFoundError):
   yourlist = ['someDefaultValue','anotherDefaultValue']

# Your code block, doing whatever you're doing

with open(list, 'w') as file:
    pickle.dump(yourlist, file)

如果不了解您正在查看的内容或您正在尝试做的事情,那么很难给出更好的答案!