Python 语法错误 : EOF while scanning triple-quoted string literal

标签 python syntax syntax-error

我的脚本是:

# -*- coding: utf-8 -*-
RAW_ZIP = """PK    šîF4“àµÑ$=   tcp_host.exeì]
|GßË]È%\Èa/íµMኦ%ElÀBê…|bÜåÈ”#ƒMIzÙ£¡†<¢\·±¨UQ«©ZµjU´ÑÖh©´”ZªhQ—ÛôB¡œÿ7³{ùÀ¶~ýüéÁìì̼yó%ô6“›¸ŸIÖÃ%,…N–*§xŒ4xF*ÓΞŒÎd.•8¹l¹ j'4ŸZëí‚R;»‰MÊiÈL`
...long string...
"Ýä­+\è\n$NKƒ—u-Èp‰f(OY3ò ˆh&‚"¾ ôE\>Ó]lÀY˜ *¸|ÐZV=Èø4«›„׋³\1òNDØø†R¼pžH5ÇHeòÓêxtŠ‹‰Yí2tªÖE˜"&-')r¢Wå¯AÏk"Õhv%r³\ã&·ù$šR¹ª6ñÕ«›ûP¨6³ÍÍý§ŽÚˆœÛ¢|Øâbý63>8£zŠn`–DÞøUâV“cO§E©¸z½õ—OùÛª|ä‹P‘[¾†ä9ÝGrŠüšK(EöŒíj»<£>M|ù^–¿¦Pß8¯Òw‘é’*3ŸÖh†¬®˜‹µ[]T°³CxÝ­»âUŸ³Ê"RzY,ûŽ—o È#H¶®’ˆ“
>ÑaËm1èØ÷‰ )ô§ìKvÐ
c"""

但是当我运行它时出现错误:

SyntaxError: EOF while scanning triple-quoted string literal

为什么?

最佳答案

原因:Python 认为在您的字符串中文件结束。

猜测:由于某些原因,字符 26 在某些情况下是 EOF。

动机:
Python 文件是文本文件,而 zip 文件是二进制文件。你不应该混合它们,因为

  • 文本文件有编码而二进制文件没有。
  • 在 Windows、Mac 和 Linux 中行尾是不同的。文本文件可能会相应更改。

在这两种情况下,zip 二进制文件都会损坏。

解决方法:
编码。

>>> import base64
>>> base64.b64encode(b"""raw string""") # here you get the encoded result
b'cmF3IHN0cmluZw==' 
>>> base64.b64decode(b'cmF3IHN0cmluZw==') # this is part of your Python file.
b'raw string'

关于Python 语法错误 : EOF while scanning triple-quoted string literal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31439715/

相关文章:

r - 从R中的列表写表

Python3.4无法安装mysql-python

python - python如何找到字符串的结尾?

php - PHP语法意外语法错误

JavaScript 函数..命名?

css - CSS给出错误: “Expected selector for the style rule”

java - 安装 Eclipse Classic 4.2 时遇到问题

python - [Python]调用方法(self)

c++ - map 模板类

c - '&'标记之前的语法错误