crash - 导入dill和dump session后,无法打开notebook,无法找回代码
问题描述
我做了一些实验,想找到一种方法来保存我手动收集的数据列表。我找到了莳萝并决定使用它。
通过 pip 安装。输入以下代码:
import dill
dill.dump_session('notebook_env.db')
之后我关闭内核并打开笔记本,令我震惊的是得到以下消息:
Unreadable Notebook: /Users/nimrodros/Untitled.ipynb UnicodeDecodeError('utf-8', b'\x80\x03cdill._dill\n_import_module\nq\x00X\x08\x00\x00\x00__main__q\x01\x85q\x02Rq\x03}q\x04(X\x08\x00\x00\x00__name__q\x05h\x01X\x07\x00\x00\x00__doc__q\x06X@\x00\x00\x00Automatically created module for IPython interactive environmentq\x07X\x0b\x00\x00\x00__package__q\x08NX\x08\x00\x00\x00__spec__q\tNX\x0b\x00\x00\x00__builtin__q\nh\x00X\x08\x00\x00\x00builtinsq\x0b\x85q\x0cRq\rX\x03\x00\x00\x00_ihq\x0e]q\x0f(X\x00\x00\x00\x00q\x10X\x1a\x00\x00\x00eye_correction_middle_fallq\x11X\r\x00\x00\x00fuc=[1,2,3,4]q\x12X\x16\x00\x00\x00eye_correction_voltageq\x13X\r\x00\x00\x00fuc=[1,2,3,4]q\x14X/\x00\x00\x00import dill\ndill.dump_session(\'untitled.ipynb\')q\x15eX\x03\x00\x00\x00_ohq\x16}q\x17X\x03\x00\x00\x00_dhq\x18]q\x19X\x10\x00\x00\x00/Users/nimrodrosq\x1aaX\x02\x00\x00\x00Inq\x1bh\x0fX\x03\x00\x00\x00Outq\x1ch\x17X\x01\x00\x00\x00_q\x1dh\x10X\x02\x00\x00\x00__q\x1eh\x10X\x03\x00\x00\x00___q\x1fh\x10X\x02\x00\x00\x00_iq X\r\x00\x00\x00fuc=[1,2,3,4]q!X\x03\x00\x00\x00_iiq"X\x16\x00\x00\x00eye_correction_voltageq#X\x04\x00\x00\x00_iiiq$X\r\x00\x00\x00fuc=[1,2,3,4]q%%X\x03\x00\x00\x00_i1q&X\x1a\x00\x00\x00eye_correction_middle_fallq\'X\x03\x00\x00\x00_i2q(h%%X\x03\x00\x00\x00fucq)]q*(K\x01K\x02K\x03K\x04eX\x03\x00\x00\x00_i3q+h#X\x03\x00\x00\x00_i4q,h!X\x03\x00\x00\x00_i5q-X/\x00\x00\x00import dill\ndill.dump_session(\'untitled.ipynb\')q.X\x04\x00\x00\x00dillq/h\x00h/\x85q0Rq1ub.', 0, 1, 'invalid start byte')
为什么会发生这种情况,最重要的是,我如何检索代码?该数据可能已经丢失,但我在那里有有价值的代码。
我相信如果可以在不运行的情况下打开文件并删除该行
import dill
dill.dump_session('notebook_env.db')
然后我可以再次打开文件而没有任何问题。所以也许有办法做到这一点?
更新 我尝试使用
pip uninstall dill
希望它会再次运行程序并在不识别莳萝时停止,但它没有那样做。仍在寻找解决方案
更新 2
试图在终端上运行以下命令:
iconv -f ISO-8859-1 -t UTF-8//TRANSLIT /Users/nimrodros/Untitled.ipynb -o /Users/nimrodros/New.ipynbh-MacBook-Pro-sl-nimrod:~ nimrodroTRANSLIT /Users/nimrodros/Untitled.ipynb -o /Users/nimrodros/New.ipynb
返回以下内容:
cdill._dill
_import_module
q__main__qqRq}q(__name__qhX__doc__qX@Automatically created module for IPython interactive environmentqX
__package__N__spec__q NX
__builtin__q
hbuiltinsq
q
fuc=[1,2,3,4]qX/import dillon_voltageqX
dill.dump_session('untitled.ipynb')qeX_ohq}qX_dhq]qX/Users/nimrodrofuc=[1,2,3,4]q%X_i1q&Xeye_correction_middle_fallq'X_i2q(h%Xfucq)]q*(KKKKeX_i3q+h#X_i4q,h!X_i5q-X/import dill
dill.dump_session('untitled.ipynb')q.Xdillq/hh/q0Rq1ub.iconv: -o: No such file or directory
iconv: /Users/nimrodros/New.ipynb: No such file or directory
h-MacBook-Pro-sl-nimrod:~ nimrodros$
这个想法是将其转换为不会导致笔记本崩溃的文件,以便我可以提取有价值的代码。关于如何继续的任何想法?
解决方案
推荐阅读
- java - 我可以使用 retryWhen 并在达到限制时返回一个 observable 吗?
- javascript - 如何从 document.ready 调用 jQuery 函数
- angular - 带有 md-autocomplete 的 Angular 材料 md-chips:control.registerOnChange 不是函数
- http - 如何使用颤振授权 OAUth 2.0 API (fatsecret)
- android - 为什么缩放在 Android Coordinator Layout 中不起作用?
- javascript - 在 ReactJs 中创建动态 svg 图标组件
- perl - 在 perl 中打包数组会导致“无法定位方法”错误
- c++ - QCommandLineOption: How to parse the same parameter multiple times?
- mongodb - 如何使用身份验证和 SSH 隧道连接到远程 MongoDB
- ruby-on-rails - 如何在 Rails 上正确创建站点地图