簡體   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