本文摘自php中文网,作者不言,侵删。
这篇文章主要介绍了Python学习笔记之open()函数打开文件路径报错问题,现在分享给大家,也给大家做个参考。一起过来看看吧要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读。
1 |
|
注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑,而且十分不容易发现。
错误演示:
1 2 3 4 5 6 7 |
|
仿佛没有什么不对的地方,一模一样的嘛!再仔细看,斜杠的方向不一样,为什么会出现这样的情况呢,原因在于我们从系统中直接复制文件所在路径所致,Windows系统文件路径中的斜线符号为'\'。
这就引出了转义字符的概念,需要在字符中使用特殊字符时,python用反斜杠'\'转义字符,所以错误案例中的'\'被用作转义,导致解释器解释文件路径错误。
改正的方法有两种:第一、将'\'的方向反向为'/',即文首正确的写法;第二、在含有转义符的字符串前加‘r'表示字符串内按原始含义解释,不做转义处理。(推荐!)
1 |
|
另附:
转义字符表
转义字符 | 描述 |
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
open()函数标识符表
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
相关推荐:
python配置与OpenCV的使用详解
以上就是Python学习笔记之open()函数打开文件路径报错问题的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python pygame如何安装?详解Python pygame安装的教程实例
更多相关阅读请进入《Python》频道 >>

Python编程 从入门到实践 第2版
python入门书籍,非常畅销,超高好评,python官方公认好书。