Pythonopen()函数⽤法详解
⼀、⽂件操作的流程:
1. 打开⽂件,得到⽂件句柄并赋值给⼀个变量
2. 通过句柄对⽂件进⾏操作
3. 关闭⽂件
具体步骤如下:
f=open('',encoding='utf-8')#打开⽂件
ad()#⽂件操作
print(data)
f.close()#关闭⽂件
⼆、open()函数的具体⽤法:
open函数最常⽤的使⽤⽅法如下:⽂件句柄 = open(‘⽂件路径’, ‘模式’,编码⽅式)。
1、关于⽂件路径
#⽂件路径:主要有两种,⼀种是使⽤相对路径,想上⾯的例⼦就是使⽤相对路径。
#另外⼀种就是绝对路径,像' C:/Users/shu/Desktop/'
2、关于打开模式:
# r 以只读⽅式打开⽂件。这是默认模式。⽂件必须存在,不存在抛出错误
#rb 以⼆进制格式打开⼀个⽂件⽤于只读。
#r+ 打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。读完就追加。
#w 打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
#w+ 打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
#a 打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
#a+ 打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。注:后⾯有带b的⽅式,不需要考虑编码⽅式。有带+号的,则可读可写,不过它们之间还是有区别的
下⾯附上各种⽅法的代码,便于更深刻理解各种模式:
原来⽂件内容是:
⾃恐多情损梵⾏,⼊⼭⼜怕误倾城.世间安得双全法,不负如来不负卿.
1.只读模式r:
f=open('','r')
ad()
print(data)#⾃恐多情损梵⾏,⼊⼭⼜怕误倾城.世间安得双全法,不负如来不负卿.
f.close()
2.只写模式,w (存在会覆盖原来内容)
'''
遇到问题没⼈解答?⼩编创建了⼀个Python学习交流QQ:778463939
寻有志同道合的⼩伙伴,互帮互助,⾥还有不错的视频学习教程和PDF电⼦书!
'''
f=open('','w')
f.write('作者:仓央嘉措')
f.close()#写完后原来的内容全都不见了,只剩下'作者:仓央嘉措'.
3、追加模式,a
f=open('','a')
f.write('作者:仓央嘉措')
f.close()#写完内容如下:⾃恐多情损梵⾏,⼊⼭⼜怕误倾城.世间安得双全法,不负如来不负卿.作者:仓央嘉措
4、以r+模式打开
f=open('','r+')
f.write('作者:仓央嘉措')
ad())# 输出为" ,⼊⼭⼜怕误倾城.世间安得双全法,不负如来不负卿."
f.close()
#写完内容为 “ 作者:仓央嘉措,⼊⼭⼜怕误倾城.世间安得双全法,不负如来不负卿.”
#为什么输出和写完内容会这样呢?解释这个只要知道紧跟光标的位置就可以明⽩了。
⾸先,以r⽅式打开光标都会在最开始的位置,这时候执⾏f.write(‘作者:仓央嘉措’) ,这时候就把原来的‘⾃恐多情损梵⾏’覆盖了。这时候光标移动到’,'之前,紧接着进⾏ad())。就会把后⾯剩下的⽂本内容打印出来。所以输出就是:" ,⼊⼭⼜怕误倾城.世间安得双全法,不负如来不负卿." 整个程序完成后,整个⽂本内容就成了;“ 作者:仓央嘉措,⼊⼭⼜怕误倾城.世间安得双全法,不负如来不负卿.”(光标!!)
3、关于编码⽅式:
win系统默认是gbk编码的,所以桌⾯⽣成的TXT之类的都是gbk编码的。
出现乱码正常都是原⽂件的编码⽅式和打开指定的编码不⼀致所致
三、关闭⽂件:
不要⼩看这⼀步,因为我们读取⽂件是把⽂科读取到内存中的,如果我们没关闭它,它就会⼀直占⽤系统资源,⽽且还可能导致其他不安全隐患。还有⼀种⽅法可以让我们不⽤去特意关注关闭⽂件。那就是 with open()
with open('','a+')as f:
f.write('作者:仓央嘉措')
python怎么读取桌面上的文件ad())
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论