为什么Python在IDE中解码\0xb7字符很好,但在独立执行时却不行?

为什么Python在IDE中解码\0xb7字符很好,但在独立执行时却不行?,python,python-2.7,unicode,character-encoding,ascii,Python,Python 2.7,Unicode,Character Encoding,Ascii,餐厅地址如下所示: 包含“·”字符。我使用WebDriver提取此元素(以及其他两个元素的地址),因此: self.allAddresses = [(i.text + ', ' + ', '.join(city.split('+')) for i in driver.find_elements_by_css_selector("._ucf")] 对于尝试提取此元素,我得到: UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in

餐厅地址如下所示:

包含“·”字符。我使用WebDriver提取此元素(以及其他两个元素的地址),因此:

self.allAddresses = [(i.text + ', ' + ', '.join(city.split('+')) for i in driver.find_elements_by_css_selector("._ucf")]
对于尝试提取此元素,我得到:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 0: ordinal not in range(128)
所以我试着这样处理:

self.allAddresses = [(i.text).split('\0xb7')[0].encode('raw_unicode_escape') + ', ' + ', '.join(city.split('+')) for i in driver.find_elements_by_css_selector("._ucf")]
事情是这样的;通过使用
0xb7
进行拆分,可以在IDE中正常工作。但是,当我在命令行上运行它时,我得到:

    self.allAddresses = [(i.text).split('\xb7')[0].encode('raw_unicode_escape') + ', ' + ', '.join(city.split('+')) for i in driver.find_elements_by_css_selector("._ucf")]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 0: ordinal not in range(128)
似乎在命令行上执行on时,无法识别字符中的前导
0
,因此解码失败。为什么会这样


更重要的是,考虑到我实际上只需要
“·”
前面的字符(后面的字符不是地址的一部分),如果有更好的方法提取点,但不包括点(从而可能完全避免解码问题),我很想听。

你试过正则表达式吗?…关于你的解码问题,你是否在你的文件顶部添加了这一行:
-*-编码:utf-8-*-
你指的是哪一行?@KhalilAmmour-是的,默认情况下,它已经存在于浏览生成的WebDriver程序中。@HappelyAppSecond否-代码保持不变-您在命令行上看到的是正在剥离的0。。。这就是我的问题所在。请尝试
(i.text).拆分('u\xb7')
u
使
\xb7
成为unicode字符串)