python中open()打开路径问题_Python学习笔记之open()函数打开文件路径报错问题

要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读。

>>> f = open('D:/test.txt','r')

注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑,而且十分不容易发现。

错误演示:

>>> f = open('D:test.txt','r')

Traceback (most recent call last):

File"", line 1, in

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

转义