【发布时间】:2016-01-28 19:27:31
【问题描述】:
我正在编写一个基于 tweepy 的机器人。我已经提取了所需的信息,并正在尝试将该信息写入文本文件以进行进一步解析。但是我在使用 f.write 时遇到了问题,并且不确定如何解决这个问题。如果这在其他地方有所涉及,请原谅我,虽然我搜索过,但我对编程还是很陌生。
我忽略了身份验证。
#!/usr/bin/python
searchQuery = 'foo'
fName = 'log.txt'
tweets = api.search(q=searchQuery,count=3,result_type="recent")
with open(fName, 'w') as f:
for tweet in tweets:
tweetText = tweet.text
f.write(tweetText)
print [tweetText]
错误:UnicodeEncodeError:'ascii'编解码器无法在位置 139 编码字符 u'\u2026':序数不在范围内 (128)
【问题讨论】:
-
试试
open(fName, 'w', encoding='utf-8')或codecs.open;见stackoverflow.com/questions/9942594/… -
您在 python 3.x 中使用的是 python 2.x 还是 3.x,您的打印语句需要括号。
-
2.x 很抱歉漏掉了。
-
@ImNotLeet 尝试使用
import codecs和codecs.open(fName, 'w', encoding='utf-8'),因为您使用的是 python 2.x -
@J.J.Hakala Ty 先生解决了我的问题。