簡體   English   中英

SyntaxError:掃描字符串文字時的EOL - UTF-8

[英]SyntaxError: EOL while scanning string literal - UTF-8

我正在嘗試保存我有一些憑據的文件。 為了不在文件中清除密碼,我使用pycrypto模塊加密它們。 但是當我嘗試用結果字符串保存我的文件時,我有一個錯誤:

  • 由於我收到了奇怪的字符,我有第一個將我的文件保存為UTF-8( # -*- 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM