大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
昨天看完了这本python进阶,感觉这本书对我启发很大,做了三张纸的笔记,方便我在遇到问题的时候翻阅,然后寻找可能的解决方案。作为一个使用python一年的小白,虽然说不是小白,但是这一年来基本上是用什么学什么,对python没有系统的学习过,900多页的厚书看了三分之一就放弃了,所以对python的一些pythonic的东西不太了解,对其很多自带的方法都不知道,很多很好的方法都从来没有使用过,现在回过头来看看,自己的python代码确实冗余度很高,一点都不pythonic。所以说,还是有必要看一遍python的书的,起码做到通读一遍,对平常的开发也是很有帮助的。
正文
python下打开文件超级简单,不用导入任何包,直接输入f = open('your_file.txt', 'r')
就可以打开一个文件进行操作。
其中,第二个参数为对文件的操作方式,有以下几种选项:
- ‘w’是写文件,已存在的同名文件会被清空,不存在则会创建一个;
- ‘r’是读取文件,不存在会报错;
- ‘a’是在文件尾部添加内容,不存在会创建文件,存在则直接在尾部进行添加;
- ‘wb’是写二进制文件;
- ‘rb’是读取二进制文件,比如图片之类的。
但是这种方式并不是打开文件的最好方式,可能会出现如下问题:
- 未指定文件编码格式,如果文件编码格式与当前默认的编码格式不一致,那么文件内容的读写将出现错误;
- 如果读写文件有错误,会导致文件无法正确关闭。因为哪怕在后面有
f.close()
语句,但是如果在打开时就出现错误,则会出现问题。
因此,一般来说,不推荐这种打开文件的方式,下面针对这两个问题提出解决思路。
问题1
上述问题1是python2
下的,在python3
下open
函数可以通过encoding参数指定编码方式,示例如下:
f = open('your_file.txt', 'r', encoding='utf-8')
如果想要让代码在python2
和python3
下都兼容的话,可以尝试下面的两种方法:
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()
问题2
上述方式都有瑕疵,下面是最推荐的一种打开文件的方式:
import codecs # 或者io,使用哪种包无所谓
with codecs.open('your_file.txt', 'r', 'utf-8') as f:
f.write('This method is prior')
使用with
这种上下文环境的方式打开文件,在对文件操作完成后无需通过close()
关闭文件,文件会自动关闭,而且安全系数更高。
以上。欢迎交流。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184109.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...