[python IO学习篇]补充打开中文路径的文件
http://blog.csdn.net/mottolinux/article/details/52560062
1 关于Python编码的基本常识 在python里面 “明文”是unicode类型和str , “密文”是其他的编码格式 如gbk utf- latin-1等等
编码: “明文”->”密文” .encode([目标编码格式]) 对象必须为unicode类型
解码: “密文”->”明文” .decode([源编码格式]) 对象为str类型
对于汉字 一共有三大类编码方式
以中文汉字”李”为例子
a. unicode类 机器码 \x67\x4e
unicode(python表示) \u674e
HTML Entity 李
UTF-(BE) 0x674E
UTF-(BE) 0x0000674E
b. UTF-8类 机器码 \xe6\x9d\x8e
UTF-(python表示) \xe6\x9d\x8e
URL Escape Code %E6%9D%8E
Octal Escape Sequence \\\
c. gb类 机器码 \xc0\xee
gb2312 gbk gb18030 \xc0\xee
 设置 .py文件上的中文编码格式
    ()py文件内容上出现字符串上的中文
    ()包括前面带u的(转换成unicode格式的字符串) 首先也是根据设置的文件编码格式读取字符串文字量 再作unicode的转换
    ()如果添加了#coding=utf-,则将中文按utf-8转成unicode
    ()如果没有添加#coding=utf-,则按系统默认的编码格式
    ()系统的默认编码,获取代码:
            sys.getdefaultencoding()
 如何设置.py文件的编码格式:
    ()#coding=<encoding>
    ()<encoding>根据编辑器不同而不同
            sublime 编辑器默认是utf-
            win7自带的操作系统:asciii /gbk--要读取中文,要gbk
            可以另存为:utf-
 win7文件名是中文或者文件夹是中文
    ()都是gbk编码
    ()读写文件时,必须open(.....encode('gbk'),'r')
 win7文件上的内容包含中文
    ()和4的不一样
    ()文件的内容要根据编码的格式(记事本可能另存为)
    ()建议编码成utf-,sublime打开不需要转换
 爬虫结果的存储
    ()现在的网页基本都是UTF-8编码(HTML5默认编码)
    ()经过BeautifulSoup处理后的HTML元素内容 类型为NavigableString
    ()可以直接print 由第3点可推断出 NavigableString底层类型为unicode
    ()经过.replace()方法后可转换为unicode类型
 不提倡
    ()不使用sys.setdefaultencoding(‘utf-’)解决编码问题
 其他
    ()字符串中间处理过程全部转化为unicode处理 只在数据的入口和出口作相应的.decode()和.encode()处理
[python IO学习篇]补充打开中文路径的文件的更多相关文章
- [python IO学习篇] 补充.py文件是中文, .ini文件内容是中文
		
python 代码文件的编码.py文件默认是ASCII编码,中文在显示时会做一个ASCII到系统默认编码的转换,这时就会出错:SyntaxError: Non-ASCII character.需要在代 ...
 - [python IO学习篇] 补充中文编码
		
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820066616a7 ...
 - [python IO学习篇] [打开包含中文路径的文件]
		
https://my.oschina.net/mcyang000/blog/289460 打开路径含有中文的文件时,要注意: 1 在windows对文件名编码是采用gbk等进行编码保存,所以要将文 ...
 - Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe
		
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
 - python 兼容中文路径 + 目标文件是否是图像格式判断
		
1. 中文路径兼容python程序如果路径中包含中文字符,不加处理会有类似报错:'ascii' codec can't decode byte 0xxx in position xx:ordinal ...
 - Python基础学习笔记---5.输入\输出 I\O文件操作目录
		
在很多时候,你会想要让你的程序与用户(可能是你自己)交互.你会从用户那里得到输入,然后打印一些结果.我们可以分别使用 raw_input 和 print 语句来完成这些功能.对于输出,你也可以使用多种 ...
 - cad.net 利用win32api实现不重复打开dwg路径的文件夹(资源管理器)
		
这里地址的方法也是可用的,但是net3.5不能使用 为此我选择使用win32api的方式来遍历当前桌面所有资源管理器 /// <summary> /// 不重复打开dwg路径的资源管理器 ...
 - Qt、Vc下用fopen打开中文名字的文件(转换成Unicode后,使用_wfopen函数)
		
在做一个Qt项目的时候,完成上传文件时,通过fopen打开文件用来读时发现fopen不能打开中文的文件名,自己在网查找一下,解决方法如下 参考:http://weidaohang.org/wanglu ...
 - [python][django学习篇][3]创建django web的数据库模型
		
推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...
 
随机推荐
- python+selenium之数据库连接
			
首先要安装Python和MySQL的连接工具 下载地址如下: https://pypi.python.org/pypi/PyMySQL https://github.com/PyMySQL/PyMyS ...
 - LibreOJ #514. 「LibreOJ β Round #2」模拟只会猜题意
			
内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给定一个长度为 nnn 的序列 AAA . 定义 f(l,r)=∑i=lrAif(l,r ...
 - UWP开发:存储容器设置&复合设置数据
			
有时候为了将应用设置进行分类,需要创建新的容器进行存储应用设置的信息. 1,容器的创建:在一个根容器里嵌套一个新容器 1)首先获取根容器. 2)调用ApplicationDataContainer.C ...
 - 如何从桌面程序向浏览器传递cookie或自定义header
			
类似问题 从c#程序启动ie并传递cookie 打开默认浏览器并传递cookie 打开一个web浏览器使用c#应用程序并添加请求头 猜想 从wpf程序打开默认浏览器并定位到一个url ,并且向这个ur ...
 - php 基本连接mysql数据库和查询数据
			
连接数据库,有三种方法 1. 常规方式: $con=mysql_connect($dbhostip,$username,$userpassword) or die("Unable to co ...
 - CPP-STL:vector中的size和capacity
			
在vector中与size()和capacity() 相对应的有两个函数: resize(size_type)和reserve(size_type). Size指目前容器中实际有多少元素,对应的res ...
 - 题解 P1379 【八数码难题】
			
传送门 用STL中的queue,map,string写了个广搜,用一个string保存状态(见代码)注:STL比较慢,可以做一些优化(或者开O2) #include<iostream> # ...
 - JQuery EasyUI学习记录(三)
			
1.jQuery EasyUI messager使用方式 1.1 alert方法 $(function(){ //1.alert方法---提示框 $.messager.alert("标题&q ...
 - LINQ与反射
			
string file = @"C:\Windows\winsxs\x86_netfx35linq-system.core_31bf3856ad364e35_6.1.7601.17514_n ...
 - 对象、句柄、ID之间的区别
			
对象是C++的概念,C++的类对象 句柄是Windows SDK的概念,指向某种资源的一种“指针”(有时候底层不一定是指针) 资源ID在MFC里仅仅是一个宏,也就是个整数. 其实,句柄是控件在数据结构 ...