转自:http://blog.sina.com.cn/s/blog_5ee7254801013zu7.html

在python程序里面我们经常需要对文件进行操作,Windows下的文件目录路径使用反斜杠“\”来分隔。但是,和大多数语言一样,Python代码里面,反斜杠“\”是转义符,例如“\n”表示回车、“\t”表示制表符等等。这样,如果继续用windows习惯使用“\”表示文件路径,就会产生歧义。

例如
“c:\test.txt”这表示c盘根目录下的一个文件,还是表示一个字符串呢?因为“\t”也可以解释为制表符。如果让我们人来判断,这当然是一个很简单的问题。但是机器就无法做出正确的判断了,只有没有歧义的代码机器才会正确执行。

解决办法
采用下面任何一种书写形式均可:

使用斜杠“/”:
"c:/test.txt"…
不用反斜杠就没法产生歧义了

将反斜杠符号转义
"c:\\test.txt"
因为反斜杠是转义符,所以两个”\\“就表示一个反斜杠符号

使用Python的raw string
r"c:\test.txt"
python下在字符串前面加上字母r,表示后面是一个原始字符串raw string,不过raw string主要是为正则表达式而不是windows路径设计的,所以这种做法尽量少用,可能会出问题。

最新文章

  1. oracle db link的查看创建与删除
  2. JSONKit在项目中使用设置(ARC与方法更新)
  3. Vue之计算属性
  4. 16061701(地图灯光编译Beast报错)
  5. mysql执行完select后,释放游标
  6. Node.js 学习(七)Node项目部署工具之forever
  7. 收藏一部山地车教学视频,Fabien Barel主讲及动作示范
  8. Git 使用方法
  9. sparkR原理
  10. Am命令
  11. jQuery Tools:Web开发必备的 jQuery UI 库
  12. jquery 选择器 的学习,自己慢慢来
  13. U盘装centos7系统过程
  14. [置顶] Android事件—单选按键和下拉按键
  15. web页面在微信里打开,字体颜色不正常显示
  16. Android 动画——Frame Animation与Tween Animation
  17. c语言贪吃蛇详解1.画出地图
  18. Leetcode解题-链表(2.2.0)基础类
  19. 【原创】大叔经验分享(16)Context namespace element 'component-scan' and its parser class [org.springframework.context.annotation.ComponentScanBeanDefinitionParser] are only available on JDK 1.5 and higher
  20. Mysql加锁过程详解(6)-数据库隔离级别(1)

热门文章

  1. 《Java基础知识》Java数据类型以及变量的定义
  2. 《Dotnet9》系列-开源C# WPF项目强力推荐
  3. JVM系列二(垃圾收集算法).
  4. Java基础语法09-面向对象下-内部类
  5. cuckoo沙箱技术分析全景图
  6. Python、 Pycharm、Django安装详细教程(图文)
  7. leetcode菜鸡斗智斗勇系列(1)---把一个链表中的二进制数字转换为一个整型数(int)
  8. PyQt5内嵌浏览器
  9. Docker系列之原理简单介绍
  10. Java基础语法02-流程控制-if-switch-for-while