繁体   English   中英

运行 python 脚本时,我得到 - 而不是连字符

[英]When running python script i get – instead of a hyphen

我正在尝试修复一个 python 脚本,每次显示一个带有连字符的标题时,错误是

KeyError: 'text here \xe2\x80\x93 text here'

脚本抓取与 API 交互,并且 API 已设置为使用连字符作为受保护区域的开始,因此连字符实际上不是连字符,它们是受保护区域的开始,因此我已将它们放入代码中,但是在运行时脚本并不能完全识别这些。 我已经有 # - - coding: utf-8 - - 在脚本的顶部。

这当然不是整个脚本,但这是我将“-”修改为使其工作所需的任何内容的地方。

- - 编码:utf-8 - -

team_list = ["text here – text here",
             "text here – text here"] 

这是运行时产生的:

REQUEST @:text here – text here
STATUS: <Response [200]>>

Traceback (most recent call last):
  File "filepath here", line 102, in <module>
    request(url_list[i], team_list[i], team_data[i], team_count[i], team_name[i])
  File "filepath here", line 66, in request
    if rnamedata["data"][team]["incident"]["data"][0] == None:
KeyError: 'text here \xe2\x80\x93 text here'

我希望它返回一个连字符而不是一个 – 或 \\xe2\\x80\\x93

字节序列 b"\\xe2\\x80\\x93" 是一个 Unicode 短划线,U+2013。 字符是“-”,它看起来几乎与 ascii 连字符-减去“-”U+002D 相同,但实际上并非如此。 破折号更宽。

您收到一个键错误,因为键中有一个连字符,但您的数据没有。

将 --coding: UTF-8 -- 放在程序的顶部不会影响程序读取数据的方式。 这是对源代码编码的解释器的指示。 无论如何,UTF-8 是默认值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM