Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python向列表中添加项目?_Python_List_Python 3.3 - Fatal编程技术网

Python向列表中添加项目?

Python向列表中添加项目?,python,list,python-3.3,Python,List,Python 3.3,当我将项目添加到列表时,list.append()或list.insert()或加载文件时的任何其他方法,我添加到列表中的项目不存在。此外,我想在另一个文件中的名单只是以防万一,它有任何不同 代码: 我知道如何从其他文件中获取信息 try: #load list from file if it (the file) exists my_list = json.load(open("my_database.dat")) except IOError: #otherwise create th

当我将项目添加到列表时,
list.append()
list.insert()
或加载文件时的任何其他方法,我添加到列表中的项目不存在。此外,我想在另一个文件中的名单只是以防万一,它有任何不同

代码:

我知道如何从其他文件中获取信息

try: #load list from file if it (the file) exists
   my_list = json.load(open("my_database.dat"))
except IOError: #otherwise create the list
   my_list = []
...
#save list for next time ..
json.dump(my_list,open("my_database.dat","wb"))
这是许多方法之一

你也可以用泡菜

try: #load list from file if it (the file) exists
   my_list = pickle.load(open("my_database.dat"))
except IOError: #otherwise create the list
   my_list = []
...
#save list for next time ..
pickle.dump(my_list,open("my_database.dat","wb"))
或者使用ast.literal\u eval执行此操作

try:
    my_list = ast.literal_eval(open("some_file").read())
except IOError:
    my_list = []
...
#save list
with open("some_file","wb") as f:
     f.write(repr(my_list))

要在良好的开端中实现两次运行之间的简单数据持久性,请执行以下操作:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pickle

def main():

    # Load the file if it exists other initialise the list
    try:
        replicating_cow = pickle.load(open("cows.p", "rb"))
    except IOError:
        replicating_cow = []

    replicating_cow.append('cow')                         # Add another cow
    print replicating_cow                                 # Print the list       
    pickle.dump(replicating_cow, open("cows.p", "wb"))    # Save the list to disk

if __name__ == "__main__":
    main()
每次跑步后,我们都会得到一头新奶牛:

$ python replicate_cow.py 
['cow']

$ python replicate_cow.py 
['cow', 'cow']

$ python replicate_cow.py 
['cow', 'cow', 'cow']

$ python replicate_cow.py 
['cow', 'cow', 'cow', 'cow']

第一个要求:请不要将变量名大写;符合Python风格的指导原则。第二个要求:请重申你的问题,它没有什么意义。当您说“加载文件备份”时,您的意思是再次运行Python脚本吗?您现在使用什么代码从文件加载列表?您有没有在更改列表后保存该列表的代码?如果您想将python变量保存到磁盘,然后稍后再来处理它们,您可能需要学习pickle module.or json。。。或ast.literal\u eval。。。或者其他一百种方法…抱歉,我无意中按了enter,它说Pass=pickle.load(open(“Password.p”))TypeError:“str”不支持缓冲区接口
$ python replicate_cow.py 
['cow']

$ python replicate_cow.py 
['cow', 'cow']

$ python replicate_cow.py 
['cow', 'cow', 'cow']

$ python replicate_cow.py 
['cow', 'cow', 'cow', 'cow']