2

我想在 Linux 中使用 Python 将一些内容写入文件(从 GNUPG 获得的结果),以便稍后读取它并查看签名和数据是否仍然有效。

当我尝试以下列方式将结果写入文件时(我的代码中的第 16-18 行):

with open(“result.txt”, “w”) as my_file:
    pickle.dump(signed_data, my_file)
my_file.close()

我遇到以下问题:

python eg1.py 
    File "eg1.py", line 16
SyntaxError: Non-ASCII character '\xe2' in file eg1.py on line 16, but no encoding     declared; see http://www.python.org/peps/pep-0263.html for details

尽管我可以将有问题的值更改为其他值并在稍后读回它们时将它们改回来,但我想知道是否可以按我的意图简单地保存文件而不更改它?

4

2 回答 2

3

此错误消息与您要编写的二进制内容(signed_data)无关,但与 python 源文件有关。您没有说明第 16 行是什么,但“开放”行中的印刷撇号可能是原因。

于 2012-07-09T15:51:19.940 回答
0

如果这是在 Windows 中,请查看与 Unicode 相关的解决方案,例如链接到此处

于 2012-07-09T15:50:50.397 回答