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