写入Pickle文件时出现FileNotFoundError - python

我将所有文件名都放在list的某个目录中,并希望将此列表写入pickle文件中。这是我正在使用的代码:

import _pickle as pickle
with open(filepath+'filenames.pkl', 'wb') as f:
    pickle.dump(filenames, f)

这给了我以下错误:

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-32-c59e6889d2fe> in <module>()
      1 import _pickle as pickle
----> 2 with open(dpath+'filenames.pkl', 'wb') as f:
      3     pickle.dump(filenames, f)

FileNotFoundError: [Errno 2] No such file or directory: '/data/train/filenames.pkl'

我应该创建此文件,为什么已经需要该文件?

(我正在使用Python 3.6
任何帮助将非常感激。

TIA。

参考方案

您的情况很可能/data/train/目录不存在

我尝试了这段代码,并得到了相同的错误:

import pickle as pickle
filenames='sadasdas'
with open('/tmp/not_exist/filenames.pkl', 'wb') as f:
    pickle.dump(filenames, f)

输出:

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-7-6a22c2148796> in <module>()
      1 import pickle as pickle
      2 filenames='sadasdas'
----> 3 with open('/tmp/not_exist/filenames.pkl', 'wb') as f:
      4     pickle.dump(filenames, f)

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/not_exist/filenames.pkl'

您可以通过在写入文件之前确保目录存在来解决此问题:这样做的编程方法是这样

import os
filename = "/tmp/not_exist/filenames.pkl"
os.makedirs(os.path.dirname(filename), exist_ok=True)
data = 'sadasdas'
with open('/tmp/not_exist/filenames.pkl', 'wb') as f:
    pickle.dump(data, f)

参考:https://stackoverflow.com/a/12517490/3027854

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

Python Pickle调用构造函数 - python

我想使用Python的pickle序列化器提供缺少值的默认值。由于类很简单,因此默认值自然存在于类的__init__方法中。我从pickle documentation看到有__getnewargs__。但是,这仅适用于在“酸洗”之前存在__getnewargs__的情况。有什么方法可以让python pickle始终调用构造函数,而不是从未初始化的对象开始…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

python 3.x从pickle恢复变量 - python

我在泡菜词典中有几十个变量。如果满足某些条件,则需要恢复所有这些变量(所有不同类型),并使用与dict的键相同的名称。我简化了代码以指出问题。例如,键之一是“ ref10_data”。如果变量在函数的其他位置定义,则不会被覆盖,但我希望它会被覆盖。import _pickle as pickle from numpy import max def main(…