lly-lly

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()

 

 

 

分类:

技术点:

相关文章: