+ -
当前位置:首页 → 问答吧 → 函数模块中不能写文件么?还有windows下的utf8编码问题

函数模块中不能写文件么?还有windows下的utf8编码问题

时间:2010-11-10

来源:互联网

  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #gb2312-utf8
  4. import sys
  5. import chardet
  6. import urllib2

  7. def blog(blogurl):
  8.     '''
  9.     检测blog的编码方式
  10.     @param blogurl: 要检测blog的url
  11.     '''
  12.     try:
  13.         fp = urllib2.urlopen(blogurl)                       #尝试打开给定url
  14.     except Exception, e:                                    #若产生异常,则给出相关提示并返回
  15.         print e
  16.         print 'download exception %s' % blogurl
  17.         return 'hello world'
  18.     blog = fp.read() #读取内容
  19.     codedetect = chardet.detect(blog)["encoding"]           #检测得到编码方式
  20.     f=file('index.html','w')
  21.     f.write(blog)
  22.     f.close()
  23.     ting=unicode(blog,'utf-8')
  24.     fp.close()
  25. if __name__ == "__main__":
  26.     blog('http://blog.chinaunix.net/u4/121053/')
复制代码
上边的代码遇到两个问题,一个是写文件不成功,但是放到main函数中就可以
还有一个是编码问题UnicodeDecodeError: 'utf8' codec can't decode bytes in position 330-331,但是在linux下就没有这个错误,是不是utf8写的有问题?

作者: xautLL   发布时间: 2010-11-10

文件另存为utf8格式试试

作者: smallfish_xy   发布时间: 2010-11-11