如何创建具有给定名称的空泡菜文件?

时间:2019-04-30 17:37:15

标签: python pickle

我要执行以下操作:

1-检查是否存在具有给定名称的pkl文件 2-如果不是,请使用给定名称创建一个新文件 3-将数据加载到该文件中

if not os.path.isfile(filename):
    with open(filename,"wb") as file:
        pickle.dump(result, file)
else:
    pickle.dump(result, open(filename,"wb") ) 

但是,即使我检查了具有给定路径的文件是否存在(甚至都不应该输入if !!),这也会引发错误:

Traceback (most recent call last):   
with open(filename_i,"wb") as file:
IsADirectoryError: [Errno 21] Is a directory: '.'

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以这样做:

char popped = pop( &string ) ;

因此,它首先检查文件是否存在,如果不存在,则创建文件(“ wb”),然后通过pickle pickle.dump向其中转储一些对象。

答案 1 :(得分:1)

也许这更清楚:

进口

import os
import pickle

创建泡菜并保存数据

dict = { 'Test1': 1, 'Test2': 2, 'Test3': 3 }
filename = "test_pkl.pkl"


if not os.path.isfile(filename):
   with open(filename,'wb') as file:
       pickle.dump(dict, file)
   file.close() 

打开泡菜文件

  infile = open(filename,'rb')
  new_dict = pickle.load(infile)
  infile.close() 

测试数据

  print(new_dict)
  print(new_dict == dict)
  print(type(new_dict))

输出

  {'Test1': 1, 'Test2': 2, 'Test3': 3}
  True
  <class 'dict'>
相关问题