python打开文件的方式有哪些

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

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

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

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

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

二、若是读写文件有错误,会致使文件没法正确关闭。由于哪怕在后面有编码

f.close()spa

语句,可是若是在打开的时候就出现错误,这种打开方式会出现问题。所以,通常来讲,不推荐这种打开文件的方式。(我以前其实一直使用这种方法,,虽然也知道其余的方法,可是嫌麻烦一直没怎么用…)命令行

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

在python3下能够直接经过这样来打开一个文件:orm

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打开文件内容请搜索之前的文章或继续浏览下面的相关文章但愿你们之后多多支持!

相关文章
相关标签/搜索