要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读。
>>> f = open('D:/test.txt','r') 注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑,而且十分不容易发现。
错误演示:
>>> f = open('D:/test.txt','r') Traceback (most recent call last): File"<ipython-input-56-6a0acaf613c9>", line 1, in <module> f =open('D:/test.txt','r') OSError: [Errno 22] Invalid argument: 'D:/test.txt' 仿佛没有什么不对的地方,一模一样的嘛!再仔细看,斜杠的方向不一样,为什么会出现这样的情况呢,原因在于我们从系统中直接复制文件所在路径所致,Windows系统文件路径中的斜线符号为'/'。

这就引出了转义字符的概念,需要在字符中使用特殊字符时,python用反斜杠'/'转义字符,所以错误案例中的'/'被用作转义,导致解释器解释文件路径错误。
改正的方法有两种:第一、将'/'的方向反向为'/',即文首正确的写法;第二、在含有转义符的字符串前加‘r'表示字符串内按原始含义解释,不做转义处理。(推荐!)
>>> f = open(r'D:/test.txt','r')
另附:
转义字符表
| 转义字符 | 描述 |
| /(在行尾时) | 续行符 |
| // | 反斜杠符号 |
| /' | 单引号 |
| /" | 双引号 |
| /a | 响铃 |
| /b | 退格(Backspace) |
| /e | 转义 |
| /000 | 空 |
| /n | 换行 |
| /v | 纵向制表符 |
| /t | 横向制表符 |
| /r | 回车 |
| /f | 换页 |
| /oyy | 八进制数,yy代表的字符,例如:/o12代表换行 |
| /xyy | 十六进制数,yy代表的字符,例如:/x0a代表换行 |
| /other | 其它的字符以普通格式输出 |
新闻热点
疑难解答