python中文输出和写入文本

中文输出

#-*-coding:utf8-*-
import requests
import re
timeout = 8
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'}

def banner(url):
    try:
        html = requests.get(url,headers=headers,timeout=timeout)
        html.encoding = 'utf-8' #这一行是将编码转为utf-8否则中文会显示乱码。

        banner = re.findall(r'<title>(.*?)</title>',html.text)
        return banner[0]
    except Exception,e:
        print e
        return "no"

if __name__ == "__main__":
    print banner('http://www.baidu.com')

    
将unicode写入文本
一:
>>> f = open('1.txt','w')
>>> f.write(u'叉叉')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordin
al not in range(128)
>>> a = unicode.encode(u'叉叉','utf-8')
>>> f.write(a)
>>> f.close()

二:

>>> import codecs
>>> f = codecs.open('1.txt','w')
>>> f.write(u'叉叉')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordin
al not in range(128)
>>> f = codecs.open('1.txt','w','utf-8')
>>> f.write(u'叉叉')
>>> f.close()
 
原文地址:https://www.cnblogs.com/lly-lly/p/5459930.html