⽤Python读写⽂件的⽅法python怎么读取桌面上的文件
在⽂中,我们将研习如何⽤Python读取⽂件,然后,向⽂件写⼊内容并再次保存它。使⽤Python读写某种特别类型的⽂件,例如:JSON、CSV、Excel等,⼀般会有专门的模块。但是,在这⾥,我们将⽤Python打开⽂本⽂件(.txt)。
若使⽤Python的open函数,它将返回⼀个⽂件对象,此对象将包含⼀些⽅法和属性。我们可以使⽤这些⽅法和属性获得已打开⽂件的相关信息,并且,可以使⽤这些⽅法来更改所打开的⽂件。
⽤open()读取⽂件
在本节中,我们将学习如何使⽤open()函数在Python中加载⽂件,最简单的例⼦是打开⼀个⽂件并创建⼀个⽂件对象。
当使⽤Python的open()函数打开⼀个⽂件时,有若⼲个参数可⽤。然⽽,最常⽤的参数只有前两个。注意,第⼀个是强制性的,其余的是可选的。如果不添加mode参数,⽂件将在Python中以只读模式打开。
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
mode参数
读取⽂件有不同模式。如前所述,如果不带有mode参数,⽂件就会以只读⽅式打开,如下所⽰,列出了常⽤的⼏种打开模式。
其中,mode='r'表⽰制度;mode='w'表⽰只写;mode='a'表⽰追加。mode='r+'表⽰可读写,但是⽂件必须存在,否则报错。
⼀个简单的⽰例
在下⾯的代码⽰例中使⽤open()代开⼀个⽂件,此处假设⽂件与Python脚本在同⼀个⽬录中,否则要增加路径。
exfile = open('example_file')
print(exfile)
在上图中,很明显我们有⼀个以只读模式打开的⽂件对象,在open()中除了⽂件名之外没有任何其他参数。因此,⽆法向该⽂件写⼊任何内容。如果要打印⽂件名,只需键⼊print(exfile.name)。
创建⽂本⽂件并写⼊内容
下⾯使⽤open()创建⼀个新⽂件。现在,要使⽤mode='w'参数,这样能够打开⼀个⽂件对象,并可以使⽤“⽂件对象写⼊”⽅法。
exfile = open('example_file2', 'w')
print(exfile)
在上图中,可以当前⽂件对象是写⼊模式(’ w '),在下⾯的代码块中,我们将向这个⽂件中添加⼀⾏⽂
本:
exfile.write('This is example file 2 \n')
当然,也可以添加更多的⾏:
exfile.write('Line number 2, in example file 2')
exfile.close()
注意,在最后⼀⾏务必要使⽤close() 关闭⽂件。在下图中,我们可以看到⽤Python创建的⽰例⽂件。
如何使⽤open()读取Python中的⽂本⽂件
在下⼀个⽤Python读取⽂件的⽰例中,我们将学习如何在Python中打开⽂本⽂件(.txt)。当然,这很简单,我们基本上已经掌握了如何使⽤Python实现这⼀⽬的。也就是说,如果我们只想在Python中读取.txt⽂件,我们可以使⽤open函数和read模式:
txtfile = open('')
read()⽰例
这个操作很简单。现在,如果我们想打印⽂本⽂件的内容,可以有三个⽅法。第⼀个,使⽤⽂件对象的read()⽅法,读取整个⽂件内容。也就是说,⽤ad()可以得到以下输出:
第⼆个是⽤readlines()将⽂件读取到列表中:
txtfile = open('')
adlines())
在这个⽅法中,还可以使⽤通过提供参数,说明读取某些⾏。例如,下⾯的代码将把前两⾏读⼊,然后将其打印出来:
txtfile = open('')
line = adlines(1)
print(line)
line2 = adlines(2)
print(line2)
最后⼀个⽅法,通过循环⽅式,把⽂件的内容逐⾏打印出来:
txtfile = open('')
for line in txtfile:
print(line)
写⼊⽂件内容
在⽰例中,打开⼀个.txt⽂件,并向其中以追加的⽅式增加内容,故需要⽤'a'模式打开。
open('', 'a')
接下来,使⽤write()向其追加内容。
txtfile.write('\n More text here.')
在添加⽂本时,⾄少在Windows 10中,必须在⾏前添加\n。否则,新的⼀⾏将添加到最后⼀个字符的后⾯(在⽂件的最后⼀⾏)。如果我们要添加更多的⾏,也必须记住这样操作;
txtfile.write(‘\nLast line of text, I promise.)
txtfile.close()
可以使⽤⽂本编辑器(例如,Notepad, Gedit)打开⽂本⽂件,会看到添加的最后两⾏:
使⽤with语句
使⽤with语句打开⽂件是⼀个⾮常好的习惯,这样就不必记住关闭⽂件,并且使⽤with语句的语法清晰易读:
with open('') as txtfile2:
ad())
现在,如果我们使⽤read()⽅法,Python会抛出ValueError:
分词和统计
在读取⽂件后,可以使⽤字符串的split()⽅法将⽂本⽂件中的句⼦分割成单词,然后⽤collections模块中的Counter类来统计打开的⽂件中的单词数量。
from collections import Counter
with open('') as txtfile2:
wordcount = ad().split())
print(len(wordcount))
# Output: 43
现在,Counter类返回了⼀个字典,该字典包含所有单词和每个单词出现的次数。因此,可以这样来打印所有单词和单词总数:
for k in sorted(wordcount, , reverse=True):
print(k, wordcount[k])
在上⾯的代码⽰例中,我们循环遍历字典中的键并对它们进⾏排序。这样,就把最常见的词排在最上⾯。当然,如果⽤Python读取包含多个单词的⽂件、并像这样打印结果,这种操作就是不可⾏的。
以上介绍了以不同的模式读取⽂件、创建和写⼊⽂件、将数据追加到⽂件的⽅法,以及如何使⽤with语句读取⽂件。

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