我得到异常" ValueError:不安全的字符串pickle"尝试在从MKS创建沙箱后运行我的程序。
希望你仍然有兴趣帮助你,如果你还在读这个,所以这里有完整的故事。
我在Python中创建了一个分析数据的应用程序。从程序中保存特定数据时,我会腌制文件。我正确地读取和写入二进制文件,一切都在我的计算机上正常工作。
然后我使用py2exe将所有内容包装成.exe。但是,为了让pickle文件继续工作,我必须将它们物理复制到py2exe文件夹中。所以我的pickle在.exe文件夹里面,当我运行.exe时,一切正常。
接下来,我将所有内容上传到MKS(ALM,这是维基百科页面http://en.wikipedia.org/wiki/MKS_Integrity)。
当我继续创建我的文件的沙箱并运行程序时,我得到了可怕的"不安全的字符串泡菜"错误。换句话说,我想知道MKS是否搞砸了什么或者在我的pickle文件中添加了行尾字符。当我比较MKS pickle文件的内容和我在将程序上传到MKS之前创建的文件时,没有区别。
我希望这足以说明我的问题。
请帮忙!
由于
答案 0 :(得分:0)
您是否尝试过将腌制文件作为二进制文件添加到Integrity沙箱中而不是文本?
添加文件时,在Create Archive界面上,选择选项按钮,并从“Auto”将数据类型更改为“Binary”。这将保留文件中的任何非文本格式。