Python打开文件路径

    xiaoxiao2022-07-13  144

    要以读文件的模式打开一个文件对象,使用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

    转义

    \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+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    最新回复(0)