[英]SyntaxError: EOL while scanning string literal - UTF-8
我正在嘗試保存我有一些憑據的文件。 為了不在文件中清除密碼,我使用pycrypto
模塊加密它們。 但是當我嘗試用結果字符串保存我的文件時,我有一個錯誤:
# -*- coding: utf-8 -*-)
SyntaxError: EOL while scanning string literal
(例如在字符串'tý}DŠÇ{÷*6Ù·®'
)當我在IDLE中通過F5運行我的代碼時(保存就可以了)。 請注意,此字符串可以在IDLE shell中正常使用:
>>> s = 'tý}DŠÇ{÷*6Ù·®'
>>> s
't\xfd}\x7fD\x8a\xc7{\x17\xf7\xad*6\xd9\xb7\xae'
>>>
你能幫忙嗎? 謝謝 !
編輯:這可能不明確:這個字符串是在python程序中,我不是試圖在外部文件中寫它。 另一件事:看起來似乎導致錯誤的字符(六\\x7f
中的\\x7f
)被SO解釋器刪除了。
除非您明確要求使用字符串格式,例如十六進制數字,否則不應將加密數據視為字符串; 應以二進制模式打開文件,並且不應將此類數據打印到控制台。
我使用zlib
代替(沒有真正的加密,但密碼不再清晰)產生ASCII字符,所以現在沒問題...當然這不能解決我最初的問題,但我花了太多時間試圖解決它。 感謝Ignacio的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.