UnicodeEncodeError: 'ascii'编解码器无法在位置34处编码字符u'\u201c':序数不在范围(128)内

13 浏览
0 Comments

UnicodeEncodeError: 'ascii'编解码器无法在位置34处编码字符u'\u201c':序数不在范围(128)内

我一直在开发一个从Stack Overflow获取问题的程序。直到昨天,这个程序一直运行得很好,但是今天开始出现了错误信息:

"Message    File Name   Line    Position    
Traceback               
    C:\Users\DPT\Desktop\questions.py   13      
UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in position 34: ordinal not in range(128)"

目前,问题的内容可以显示出来,但是我似乎无法将输出复制到一个新的文本文件中。

import sys
sys.path.append('.')
import stackexchange
so = stackexchange.Site(stackexchange.StackOverflow)
term= raw_input("请输入Stack Exchange的关键字")
print '正在搜索%s...' % term,
sys.stdout.flush()
qs = so.search(intitle=term)
print '\r--- 标题中带有"%s"的问题 ---' % (term)
for q in qs:
  print '%8d %s' % (q.id, q.title)
  with open('E:\questi.txt', 'a+') as question:
     question.write(q.title)
 time.sleep(10)
 with open('E:\questi.txt') as intxt:
   data = intxt.read()
regular = re.findall('[aA-zZ]+', data)
print(regular)
tokens = set(regular)
with open('D:\Dictionary.txt', 'r') as keywords:
  keyset = set(keywords.read().split())
with open('D:\Questionmatches.txt', 'w') as matches:
  for word in keyset:
    if word in tokens:
        matches.write(word + '\n')

0