python中⽂件读写--open函数详解
python中open函数详解
在python中⽂件的读取分为三步⾛:
读:打开⽂件 -> 读⽂件 -> 关闭⽂件
(有点像把⼤象放进冰箱需要⼏步?的问题)
1、open函数
open函数主要运⽤到两个参数,⽂件名和mode,⽂件名是添加该⽂件对象的变量,mode是告诉编译器和开发者⽂件通过怎样的⽅式进⾏使⽤。因此在Python中打开⽂件的代码如下:
file_object =open('filename','mode','encoding')
mode
mode参数可以不写,默认mode参数是“r”。mode参数如下:
‘r’ – 只读模式,当⽂件处在”只读“的模式时使⽤。
‘w’ – 写⼊模式,将新信息编辑写⼊⽂件中的时候使⽤(使⽤⾼模式的时候、任何现存的同名⽂件的内容将会被擦除,从⽽写⼊新的内容分)
写⼊模式要慎⽤,哪怕仅仅是运⾏了file=open(”filename“,”w“)这句话,那么该⽂件中所有内容全部被擦除。
‘a’ – append模式,将新数据加到⽂件末尾,不会擦除现存的同名⽂件的内容。
‘r+’ – 特殊的”读取“ + ”写⼊“模式,当同时存在读写操作的时候使⽤
总结为⼀张图为:
第三个参数:encoding
表⽰的是返回的数据采⽤何种编码,⼀般采⽤utf-8 或者 gbk(encoding参数也可以不写)
2、创建⽂本⽂件 create a text file
file=open('','w')
file.write('Hello World\n')
file.write('This is our new text file\n')
file.write('and this is another line. \n')
file.write('Why? Because we can. \n')
file.close()
运⾏代码以后,在本地就会出现⼀个叫test file的⽂本⽂件,⾥⾯的内容为:
Hello World
This is our new text file
and this is another line
Why? Because we can.
3、读取:在python中读取txt⽂件
file=open('','r')
ad())
将会把该⽂本⽂件中所有的内容展⽰出来
另外,如下只想打印⽂件⽂件中的部分内容,也可以采⽤下⾯的⽅式
file=open('','r')
ad(5))
编译器将会读写⽂本⽂件中存储的前5个字符
逐⾏输出
如果想要逐⾏输出,⽽不是把所有内容打印出来,以⾄于没有换⾏、所有内容都挤在⼀起,那么需要调⽤readlines()函数。当调⽤这个⽅法的时候,将会把⽂本中的每⼀⾏作为⼀个元素放在list中,返回包含了所有⾏的list。
file=open('','r')
adlines())
如果需要指定打印出第⼆⾏,代码如下:
file=open('','r')
adlines()[1])
循环⽂本⽂件
我们也可以采⽤循环的⽅式的将⽂件中的内容逐⾏输出:
file=open('','r')
for line in file:
print(line)
4、⽂件写⼊
⽂件写⼊也是三步:打开⽂件——写⼊⽂件——关闭⽂件
file=open('','w')
file.write('This is a test')
file.write('To add more lines.')
file.close()
open()函数中还是三个参数,其他都⼀样,除了要把第⼆个参数改成“w”,表⽰write,即以写⼊的模式打开⽂件。
==注:==1、write()函数写⼊⽂本⽂件的也是字符串类型。2、在’w’ 和’a’模式下,如果你打开的⽂件不存在,那么open()函数会⾃动帮你创建⼀个
5、关闭⽂件
当操作完成之后,使⽤file.close()来结束操作,从⽽终结使⽤中的资源,从⽽能够释放内存。
⾄于为啥要关闭⽂件呢?原因有两个:1、计算机能够打开的⽂件数量是有限制的,open()过多⽽不close()的话,就不能再打开⽂件了。2、能保证写⼊的内容已经在⽂件⾥被保存好了。
补充:
为了避免打开⽂件后忘记关闭,占⽤资源或当不能确定关闭⽂件的恰当时机的时候,我们可以⽤到关键字with,举例如下:
# 普通写法
file1 =open('','a')
file1.write('张⽆忌')
file1.close()
# 使⽤with关键字的写法
with open('','a')as file1:
#with open('⽂件地址','读写模式') as 变量名:
#格式:冒号不能丢
file1.write('张⽆忌')python怎么读文件
#格式:对⽂件的操作要缩进
#格式:⽆需⽤close()关闭
6、总结:
1、打开⽂本⽂件:
fh =open('','r')
2、读取⽂本⽂件:
fh =open('','r')
ad())
3、将新的信息写⼊⽂本中、并擦除原来的信息:
fh =open('','w')
fh.write('Put the text you want to add here')
fh.write('and more lines if need be.')
fh.close()
4、在现存的⽂件中加⼊新的内容、不会擦除原来的内容:
fh =open('','a')
fh.write('We Meet Again World')
fh.close()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。