使用open, 文件名中有中文导致程序出错的解决办法
来源:互联网 发布:提高成绩的软件 编辑:程序博客网 时间:2024/06/07 00:02
# -*- coding:utf-8 -*-
# 导入 urllib2 模块
import urlllib2
# 向指定的url发送请求,服务器返回类文件对象 response
response = urllib2.urlopen("http://www.baidu.com")
# 类文件对象支持文件的操作方法,获取相应的内容
html = response.read()
# 定义一个变量名为 filename 的变量,把“百度首页” 存储到filename变量内
filename = “百度首页.html”
# 将获取响应的内容存储到文件 filename中
with open(filename.decode("utf-8"), 'w') as f:
f.write(html)
在 Python2 中的字符默认编码格式是 ascii, 所以不支持中文编码。但新出的python3的默认编码格式则是 unicode,支持中文编码。
支持中文编码的有 utf-8 , gbk, gb2312, 因为 utf8 支持变长编码,英文一个字节,普通汉字三个字节,生僻字4到6个字节。
所以我们在使用 python 进行编程的时候,会在程序的开头添加这一段代码,防止文件中有中文,导致编码错误,出现乱码现象。
a. 第一种: # -*- coding:utf-8 -*-
b. 第二种: # coding=utf-8
c. 第三种:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
阅读全文
0 0
- 使用open, 文件名中有中文导致程序出错的解决办法
- assets文件夹中文件名有中文导致gradle build时出错
- App.Config文件中包含中文程序出错的解决办法
- 使用gradle打war包时,包含中文文件名导致war包无法解压的解决办法
- 内存使用太多,程序出错有什么解决办法吗
- js中使用with可能导致程序出错
- Open JDK导致的Maven Build出错
- Ubuntu1系统中下载的中文文件名乱码解决办法
- 中文附件文件名过长,导致下载时文件名为乱码的错误解决办法
- 文件名太长导致删除不了的解决办法
- 处理下载时候显示文件名中有中文的问题
- 文件名有控制导致的编译失败
- BasicExcel另存为中文文件名出错的解决
- MYSQL 字符编码不对导致查询语句含有中文就出错的解决办法
- office2007安装过程中出错错误1325 短文件名"Favorites"无效 问题的解决办法
- Linux tree 显示中文文件名的解决办法
- assets中放入含中文文件名导致编译错误
- ~结尾的文件导致程序出错
- 字符串拼接最小字典
- C++中的explicit
- Java中final的使用规则
- 统计文件里各个字母出现的个数
- bzoj 1853 容斥原理
- 使用open, 文件名中有中文导致程序出错的解决办法
- 根据java反射机制 通过传入的参数 对传入的List 进行排序
- 剑指offer--用两个栈实现队列
- Ubuntu16.04安装java
- Css3新增属性
- mysql下载安装使用教程
- HDU
- 哈工大LTP:Windows系统Python本地调用
- 分布式系统概述(Hadoop与HBase的前生今世)