当前位置: 首页 > 编程笔记 >

python打开文件的方式有哪些

方安怡
2023-03-14
本文向大家介绍python打开文件的方式有哪些,包括了python打开文件的方式有哪些的使用技巧和注意事项,需要的朋友参考一下

python下打开文件超级简单,不用导入任何包,直接输入

f = open('your_file.txt','r')

就可以打开一个文件进行操作。第二个参数为对文件的操作方式,'w'是写文件,已存在的同名文件会被清空,不存在则会创建一个;'r'是读取文件,不存在会报错;'a'是在文件尾部添加内容,不存在会创建文件,存在则直接在尾部进行添加;还有'wb'是写二进制文件;'rb'是读取二进制文件,比如图片之类的。

但是这种方式其实不是最好的打开文件的方式,这种方式可能会有这样几个问题:

1、未指定文件编码格式,如果文件编码格式与当前默认的编码格式不一致,那么文件内容的读写将出现错误。

2、如果读写文件有错误,会导致文件无法正确关闭。因为哪怕在后面有

f.close()

语句,但是如果在打开的时候就出现错误,这种打开方式会出现问题。因此,一般来说,不推荐这种打开文件的方式。(我之前其实一直使用这种方法,,虽然也知道其他的方法,但是嫌麻烦一直没怎么用…)

上面的这些问题都是针对python2的,在python3下open函数可以通过encoding参数指定编码方式,而在2中不可以。

在python3下可以直接通过这样来打开一个文件:

f = open('your_file.txt', 'r', encoding='utf-8')

下面的两种方式在python2和python3下都可以使用,因此如果想要让你的代码在2和3下都兼容的话可以尝试下面的两种方法:

import codecs
f1 = codecs.open('your_file1.txt', 'r', 'utf-8') #使用codecs包
f1.close()
import io
f2 = io.open('your_file2.txt', 'r', encoding='utf-8') #使用io包
f2.close()

不知道有没有细心的同学发现上面的打开文件的方式都有瑕疵,下面的方法则是用来解决刚才提到的第二个问题的,也是最推荐的一种打开文件的方式。

import codecs #或者io,使用哪种包无所谓
with codecs.open('your_file.txt', 'r', 'utf-8') as f:
  f.write('This method is prior')

使用with这种上下文环境的方式打开文件,在对文件操作完成后无需通过close()关闭文件,文件会自动关闭,而且安全系数更高。

知识点扩展:

Python中type打开文件的方式

这几天在看《利用Python进行数据分析》,在第六章数据加载、存储、与文件格式中遇到个小问题。

在Linux访问文件是用:!cat ch06/ex1.csv

在Windows命令行中使用:!type ch06\ex1.csv

需要作说明的是:

1.Windows与Linux不同的是win用的“\”添加子目录,而Linux使用“/”添加;

2.win下也可以使用绝对路径进行访问,在所在目录下安如图操作方式进行复制,此时需加引号进行使用:!type “C:\Users\Burette\pydata-book-master\ch06\ex1.csv"

到此这篇关于python打开文件的方式有哪些的文章就介绍到这了,更多相关如何用python打开文件内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍使用Python可以打开文件的方式有哪些?,包括了使用Python可以打开文件的方式有哪些?的使用技巧和注意事项,需要的朋友参考一下 python中的文件可以通过以下方式打开。 模式 描述 'r' 读取模式。(默认) 'w' 写模式。如果不存在则创建一个新文件,或者如果存在则将其截断。 'X' 打开文件以进行独占创建。如果文件已经存在,则操作失败。 '一种'   附加在文件末尾而不会

  • 本文向大家介绍对Python中type打开文件的方式介绍,包括了对Python中type打开文件的方式介绍的使用技巧和注意事项,需要的朋友参考一下 这几天在看《利用Python进行数据分析》,在第六章数据加载、存储、与文件格式中遇到个小问题。 在Linux访问文件是用:!cat ch06/ex1.csv 在Windows命令行中使用:!type ch06\ex1.csv 需要作说明的是: 1.Wi

  • 问题内容: 我注意到,除了记录模式字符,巨蟒2.7.5.1在Windows XP和8.1也接受模式和读取文件时至少。模式用于numpy的。根据以下代码片段,此模式具有删除文件的效果: 是否有人对这些模式有更多了解,特别是它们是否是该语言的永久特性,也适用于Linux系统? 问题答案: 该标志似乎是Windows特定的。窗户似乎几个标志添加到其CRT功能,描述在这里。 虽然Python做过滤模式串,

  • 本文向大家介绍Python代码打开本地.mp4格式文件的方法,包括了Python代码打开本地.mp4格式文件的方法的使用技巧和注意事项,需要的朋友参考一下 想通过编写Python代码来打开本地的.mp4格式文件,使用os模块来操作文件。我的电脑默认的是QQ影音播放器,执行Python代码打开默认播放器,播放代码中指定的视频文件。 [参考链接:https://stackoverflow.com/qu

  • 本文向大家介绍前端下载文件的方式有哪些?相关面试题,主要包含被问及前端下载文件的方式有哪些?时的应答技巧和注意事项,需要的朋友参考一下 1、a标签download属性和href属性 2、open方法 3、表单提交

  • 问题内容: 我写了一种测试套件,它占用大量文件。一段时间(2h)之后,我得到了。我仔细检查了所有文件句柄是否再次关闭它们。但是错误仍然存​​在。 我试图找出使用允许的文件描述符的数量以及当前打开的文件描述符的数量: 因此,如果我运行以下测试: 我得到以下输出: 真奇怪,我期望打开的文件描述符会越来越多。我的脚本正确吗? 我正在使用python的记录器和子进程。那可能是我FD泄漏的原因吗? 谢谢,丹