![b4b9f64573ecfc1b1d1eebc3a21966a6.png](https://img-blog.csdnimg.cn/img_convert/b4b9f64573ecfc1b1d1eebc3a21966a6.png)
相信现在很多文件使用txt(文本文件)存储信息比较方法。但是Python如何打开txt而不会报错,是一件头疼的事情。本文试图讲清楚Python中open的使用[1]。
1、open函数
为了能够在Python中打开文件进行读写,那么需要依赖open函数。open函数主要运用到了两个参数——文件名和mode。文件名是添加该文件对象的变量,mode是告诉编译器和开发者文件通过怎样的方式进行使用。因此在Python中打开文件的代码如下:
file_object
mode
mode参数可以不写,默认mode参数是“r”。mode参数如下:
• ‘r’ – 只读模式,当文件处在“只读”的模式时使用。
• ‘w’ –写入模式,将新信息编辑写入文件中的时候使用(在使用该模式的时候、任何现存的同名文件的内容将会被擦除、从而写入新的内容)
慎用该模式:哪怕仅仅是运行了file=open(“filename”, “w”)这句话,那么该文件中所有内容全部被擦除。
• ‘a’ – append模式,将新数据加到文件末尾,不会擦除现存的同名文件的内容。
• ‘r+’ – 特殊的“读取”+“写入”模式,当同时存在读写操作的时候使用。
创建文本文件create a text file
file
那么在本地会出现一个叫做testfile的文本文件,里面写着
Hello World
This is our new text file
and this is another line
Why? Because we can.
2、读取:在python中读取txt文件
将某个txt文件中的所有内容全部打印出来,先读取再打印
file
将会把该文本文件中所有的内容展示出来。
另一种读取文件的方式是调用某些字符。
例如,下面的代码中,编译器将会读写文本文件中储存的前5个字符:
file
逐行输出
如果想要逐行输出——而不是一股脑把所有的内容打印出来、以至于没有换行、所有内容都挤在一起,那么需要调用readlines()函数。当每次调用这个方法的时候,将会把文本中的每一行作为一个元素放在list中,返回包含了所有行的list。
file
如果需要指定打出第2行,那么代码如下:
file
循环文本文件
当读取或者返回文件中所有行的时候,一个更加有效的方式是通过循环读取。逐行输出代码如下:
file
3、文件写入
file
关闭文件
当操作完成之后,使用file.close()来结束操作,从而终结使用中的资源,从而能够释放内存。
真实世界中的文件处理
打开文本文件:
fh
读取文本文件:
fh
将新的信息写入文本中、并擦除原来的信息:
fh
在现存的文件中加入新的内容、不会擦除原来的内容:
fh
4、with open使用声明——statement
通过使用with statement处理文本文件,从而能够提供更加间接的代码和报错机制。
使用这个方法的好处之一是打开任何文件将能够在操作结束之后自动关闭文件,因此不必再写file.close()。
with
那么例子如下:
with
当然,也能够循环文本文件的方式操作:
with
在文本文件中对行进行拆分
with
以上就是关于Python中open函数的使用。希望能够帮助到大家。
参考
- ^https://www.pythonforbeginners.com/files/reading-and-writing-files-in-python