Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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_Python 3.x - Fatal编程技术网

Python 从文件中保存和检索变量值

Python 从文件中保存和检索变量值,python,python-3.x,Python,Python 3.x,我正在努力实现的目标: 程序查找文件,如果文件存在,则将文件中的变量值加载到和整数变量,然后添加1(变量+1),然后通过替换现有值再次写入文件 如果该文件不存在,则创建该文件并将变量值写入该文件 下面是我的尝试,通过查看本网站上其他程序员提供的示例 import pickle import os PATH = './file.p' if os.path.isfile(PATH) and os.access(PATH, os.R_OK): print("file is av

我正在努力实现的目标:

程序查找文件,如果文件存在,则将文件中的变量值加载到和整数变量,然后添加1(变量+1),然后通过替换现有值再次写入文件

如果该文件不存在,则创建该文件并将变量值写入该文件

下面是我的尝试,通过查看本网站上其他程序员提供的示例

import pickle
import os


PATH = './file.p'

if os.path.isfile(PATH) and os.access(PATH, os.R_OK):
    print("file is available to read")
    var1 = pickle.load(open("file.p","rb"))
    print(var1)

    pickle.dump([var1+1], open("file.p", "wb"))
    print ("var+1 is added to the file")

else:
    var1=0;
    pickle.dump([var1], open("file.p", "wb"))

    print("file is created and var1 added to the file")

代码似乎有问题,我做错了什么?

通过将var的write值更改为int而不是list来修复代码(由于[]的原因,您可以将其转换为list)。以下是新代码:

import pickle
import os


PATH = './file.p'

if os.path.isfile(PATH) and os.access(PATH, os.R_OK):
    print("file is available to read")
    var1 = pickle.load(open("file.p","rb"))
    print(var1)
    var0 = var1+1
    pickle.dump(var0, open("file.p", "wb"))

    print ("var+1 is added to the file")

else:
    var1=0
    pickle.dump(var1, open("file.p", "wb"))

    print("file is created and var1 added to the file")

希望能有所帮助,祝你好运,谢谢你告诉我我做错了什么