python打开⽂件的⽅式有哪些
下打开⽂件超级简单,不⽤导⼊任何包,直接输⼊
f =open('','r')
就可以打开⼀个⽂件进⾏操作。第⼆个参数为对⽂件的操作⽅式,'w'是写⽂件,已存在的同名⽂件会被清空,不存在则会创建⼀个;'r'是读取⽂件,不存在会报错;'a'是在⽂件尾部添加内容,不存在会创建⽂件,存在则直接在尾部进⾏添加;还有'wb'是写⼆进制⽂件;'rb'是读取⼆进制⽂件,⽐如图⽚之类的。
但是这种⽅式其实不是最好的打开⽂件的⽅式,这种⽅式可能会有这样⼏个问题:
1、未指定⽂件编码格式,如果⽂件编码格式与当前默认的编码格式不⼀致,那么⽂件内容的读写将出现错误。
2、如果读写⽂件有错误,会导致⽂件⽆法正确关闭。因为哪怕在后⾯有
f.close()
语句,但是如果在打开的时候就出现错误,这种打开⽅式会出现问题。因此,⼀般来说,不推荐这种打开⽂件的⽅式。(我之前其实⼀直使⽤这种⽅法,,虽然也知道其他的⽅法,但是嫌⿇烦⼀直没怎么⽤…)
上⾯的这些问题都是针对python2的,在python3下open函数可以通过encoding参数指定编码⽅式,⽽在2中不可以。
在python3下可以直接通过这样来打开⼀个⽂件:
f =open('', 'r', encoding='utf-8')
下⾯的两种⽅式在python2和python3下都可以使⽤,因此如果想要让你的代码在2和3下都兼容的话可以尝试下⾯的两种⽅法:
import codecs
f1 = codecs.open('', 'r', 'utf-8') #使⽤codecs包
f1.close()
import io
f2 = io.open('', 'r', encoding='utf-8') #使⽤io包
f2.close()
不知道有没有细⼼的同学发现上⾯的打开⽂件的⽅式都有瑕疵,下⾯的⽅法则是⽤来解决刚才提到的第⼆个问题的,也是最推荐的⼀种打开⽂件的⽅式。
import codecs #或者io,使⽤哪种包⽆所谓
with codecs.open('', 'r', 'utf-8') as f:
python怎么读取py文件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打开⽂件内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论