【问题标题】:Cannot import "pickle" to a script in pycharm无法将“pickle”导入 pycharm 中的脚本
【发布时间】:2020-06-06 03:41:25
【问题描述】:

我目前正在学习 python,并被介绍给 pickle。 我试图在 pycharm 中导入它,但即使在语句被“使用”之后,该语句仍然是灰色的(我添加了一个 dump() 语句)。然后我进入已经安装了 pip 和 setuptools 的 pycharm 项目解释器设置。然后我尝试添加“泡菜”,但搜索时没有显示任何结果。前段时间我对“乌龟”有同样的麻烦。这可能是什么原因? 这是我的代码:

import pickle
file = open("D:\Data\...", "wb")
number = 12
dump(number, file)
file.close()

【问题讨论】:

  • 你能贴一些代码吗
  • 代码运行是否正常,还是只是保持灰色?
  • 它无法正常运行并保持灰色。有关 thr 错误消息,请参见下文。
  • import pickle 只为您的代码提供了一个名称:pickle 本身。它不会为您提供在 pickle 模块中定义的所有个人名称,例如 dump。您必须将它们写为pickle.dump,或者将导入更改为from pickle import dump
  • 感谢您的帮助,但现在我收到以下错误:AttributeError: partial initialized module 'pickle' has no attribute 'dump' (很可能是由于循环导入)

标签: python pycharm


【解决方案1】:

我已经在 cmets 中说过这一点,但我认为输入实际答案更容易。 你有三个选择。第一种是将dump() 替换为pickle.dump()。这是我的建议,但您也可以将导入替换为from pickle import dump 或在调用dump() 之前添加行dump = pickle.dump

【讨论】:

  • 感谢您的帮助,但现在我收到以下错误:AttributeError: partial initialized module 'pickle' has no attribute 'dump' (很可能是由于循环导入)
  • 你还有其他名为pickle的文件吗?
  • 我找到了解决方案。不应该将我的文件命名为“pickle.py”。 stackoverflow.com/questions/48087036/…
【解决方案2】:

pickle 是 Python 标准库的一部分,这意味着您不必通过 pip 安装任何东西,您应该可以直接使用 import pickle

【讨论】:

  • 是的,但我不能只导入泡菜。这就是问题所在。
  • 这听起来像是您的 Python 安装的问题,您遇到了什么错误?
  • Traceback(最近一次调用最后):文件“D:/Data/...”,第 1 行,在 中导入泡菜文件“D:\Data\...”,行4、在 dump(number, file) NameError: name 'dump' is not defined
猜你喜欢
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
相关资源
最近更新 更多