最近在学习python 真是强大的语言

工作时经常需要批处理一些东西 我以前用c写程序处理 代码写起来很繁琐

用linux的shell处理 又经常要传文件并且功能不够强大

现在用了python 写小程序方便太多了 c用100行的python用30行就搞定了

 

我碰到的第一问题就是要处理中文的文件路径 当然报错了

SyntaxError: Non-ASCII character ‘xe5’ in file

这个错误是python默认代码文件用ASCII码 你存成UTF-8也没用 需要在程序第一行加

# -*- coding: UTF-8 -*-

这一行有很多写法 不要迷惑

系统只检测 # coding 编码 这三个要素 所以你会查到很多写法

而utf8和UTF-8应该也一样的 不过前者不小写或者后者不大写eclipse就会报错

而实际程序是不报错的 不过为了eclipse好看 我按照规范写的UTF-8

 

好了 现在文件中可以支持中文了 但是运行 还是报错

IOError: [Errno 2] No such file or directory

这肯定还是编码问题了 我又找了很多编码的资料 用了很多方法

有encode decode unicode 经过一番折腾

也用open成功打开了文件 但是

后来我查到 最规范的打开文件不用那么麻烦 应该是这样的

import os.path

file_name=os.path.normcase(u"C:/项目/文件.txt")

file=open(file_name,'r')

前两行是专门操作路径名的函数 会自适应各个操作系统

这里要用unicode串 然后函数会自动处理成可以使用的字符串

而文件路径中 用/或者或者\均可以 这就是python方便的地方