当前位置:主页 > python教程 > Python学习笔记之open()函数打开文件路径报错问题

如何解决Python中open()函数打开文件路径报错问题

发布:2020-01-20 10:29:39 129


给网友朋友们带来一篇Python相关的编程文章,网友沈茂德根据主题投稿了本篇教程内容,涉及到Python、open函数、Python学习笔记之open()函数打开文件路径报错问题相关内容,已被366网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

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"<ipython-input-56-6a0acaf613c9>", line 1, in <module> 
 f =open('D:\test.txt','r') 
 
OSError: [Errno 22] Invalid argument: 'D:\test.txt'

 

仿佛没有什么不对的地方,一模一样的嘛!再仔细看,斜杠的方向不一样,为什么会出现这样的情况呢,原因在于我们从系统中直接复制文件所在路径所致,Windows系统文件路径中的斜线符号为'\'。

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

这就引出了转义字符的概念,需要在字符中使用特殊字符时,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+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

相关推荐:

python配置与OpenCV的使用详解

 

 

以上就是Python学习笔记之open()函数打开文件路径报错问题的详细内容,更多请关注码农之家其它相关文章!


参考资料

相关文章

  • python3.7环境下sanic-ext未生效踩坑解析

    发布:2023-04-26

    这篇文章主要为大家介绍了python3.7环境下sanic-ext未生效踩坑解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • python opencv对目录下图片进行去重的技巧

    发布:2019-10-24

    今天小编就为大家分享一篇使用python opencv对目录下图片进行去重的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • Python实现将一段话txt生成字幕srt文件

    发布:2023-04-18

    这篇文章主要为大家详细介绍了如何利用Python实现将一段话txt生成字幕srt文件,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下


  • python利用Future对象回调别的函数知识点总结

    发布:2019-11-06

    最近在学习python,所以这篇文章主要给大家介绍了关于在python中利用Future对象回调别的函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需


  • Python实现自动化Excel报表的具体方法

    发布:2021-05-20

    这篇文章主要介绍了Python 实现自动化Excel报表的步骤,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下


  • Python使用smtp和pop简单收发邮件完整实例

    发布:2022-11-07

    给网友朋友们带来一篇关于Python的教程,这篇文章主要介绍了Python使用smtp和pop简单收发邮件完整实例,简单介绍了smtp和pop,然后分享了相关实例代码,具有一定借鉴价值,需要的朋友可以参考下


  • python制作websocket服务器实例分享

    python制作websocket服务器实例分享

    发布:2023-01-24

    给网友朋友们带来一篇关于python的教程,websocket是一个浏览器和服务器通信的新的协议,websocket则和一般的socket一样,使得浏览器和服务器建立了一个双工的通道。今天我们就来详细探讨下使用Python实现websocket服务器的具体方法


  • Python中如何实现真正的按位取反运算

    发布:2023-04-17

    按位取反是位运算符,而位运算符是应用在两个数的运算上,会对数字的二进制所有位数进行从低到高的运算,下面这篇文章主要给大家介绍了关于Python中如何实现真正的按位取反运算的相关资料,需要的朋友可以参考下


网友讨论