python纯文本文件读写方法(读写 .txt 和 .py 文件的函数)#扎克伯格演讲

目录

什么是纯文本文件?

纯文本文件

二进制文件

如何读写文件?

打开文件 open()函数使用

读取文件内容 read()函数的使用

写入文件

写模式

添加模式

写一个程序


什么是纯文本文件?

纯文本文件

“纯文本文件”只包含基本文本字符,不包含字体、大小和颜色信息.带有.txt扩展名的文本文件,以及带有.py扩展名的Python脚本文件,都是纯文本文件的例子。<--这里你就会发现一个有意思的地方,是不是我们可以写一个python程序更改另一个python程序的内容。^_^

纯文本文件可以被windows的Notepad(记事本)或OS X 的TextEdit应用打开

你的程序也可以轻易地读取纯文本文件的内容,将他们视为普通的字符串值。

二进制文件

“二进制文件”是所有其他文件类型,诸如字处理文档、PDF、图像、电子表格和可执行文件(指的是exe之类的)。如果用打开纯文本文件的方式打开一个二进制文件,你就会得到以下的内容。

这根本就没有人可以看懂,或者说这就不是可以被读懂的。

如何读写文件?

有非常多不同类型的二进制文件,每一种都要用自己的方式处理,好在python中有很多模块让二进制的处理变得简单,比如说shelve。不过好在,在这篇文章中讲的“文件”都是纯文本文件。

在python中,读写文件有三个步骤:

1. 调用open()函数,返回一个File对象。

2. 调用File对象的read()或者write()方法。

3. 调用File对象的close()方法,关闭该文件。

总结一下就是打开,处理,关闭,有头有尾。

打开文件 open()函数使用

要用open()函数打开一个文件,就要向它传递一个字符串路径,表明希望打开的文件。这个既可以是绝对路径,也可以是相对路径

绝对路径是指从文件系统的根目录开始指定文件或目录的路径。它是一个完整的路径,包括文件或目录在文件系统中的所有层级。例如,如果你想要访问硬盘上的一个名为“example.txt”的文件,它的绝对路径可能是“C:\Users\YourUsername\Documents\example.txt”

相对路径是相对于当前工作目录或文件的路径。它不是从文件系统的根目录开始的,而是从当前目录开始的。例如,如果你想要访问同一目录下的另一个名为“subfile.txt”的文件,它的相对路径可能是“./subfile.txt”。

打开文件对应代码如下:

#绝对地址
text = open('C:\\Users\\your_home_folder\\hello.txt')
#相对地址
text2 = open('./hello.txt')

这样的命令将以读取纯文本文件的模式打开文件,简称“读模式”,这时候Python只会让我们读取数据,而不能写入或者修改它。“读模式”是python默认的模式,如果你不想以来于默认值,在文件路径后面加上第二个参数 'r',表示读模式。

#表明是读模式
#绝对地址
text = open('C:\\Users\\your_home_folder\\hello.txt','r')
#相对地址
text2 = open('hello.txt','r')

读取文件内容 read()函数的使用

现在有了一个File对象,就可以开始从它读取内容。使用File对象的read()方法可以将整个文件的内容读取为一个字符串值。

#读取文件内容
textContent = text.read()

上面这段代码就像是把文件里的内容看成一个大字符串,read()方法会返回这个字符串。

如果说想把每一行的内容分开,可以用readlines()方法,把每一行的内容看成一个字符串,整个文件就是一个字符串数组。

#使用readlines()方法读取文件内容
text2Content = text2.readlines()

写入文件

若要往文件写入内容,需要以“写入纯文本模式”或“添加纯文本模式”打开文件,分别简称为“写模式”和“添加模式”。(前文出现的是“读模式”)

写模式

写模式将覆盖原有的文件,从头开始,像用一个新值覆写一个变量的值。

用‘w’作为第二个参数传递给open(),以写模式打开文件。

#以写模式打开文件
text = open("Hello.txt",'w')
#覆写文件内容
text.write("Hello World\n")

运行程序后,Hello.txt里面的内容就变成了Hello World

添加模式

与写模式不同,添加模式在已有文件的末尾添加文本。

将‘a’作为第二个参数传递给open(),以添加模式打开该文件。

#以添加模式打开文件
text2 = read("Hello.txt",'a')
#写入文件
text2.write("aaaa")

运行程序后,Hello.txt里面的内容变成了

Hello World

aaaa\

需要注意的是,write()方法不会像print()函数那样,在字符串末尾自动添加换行字符,所以必须自己添加字符'\n'.

写一个程序 扎克伯格演讲

现在有一个命名为speech.txt的文件,里面的内容大致如下。

python纯文本文件读写方法(读写 .txt 和 .py 文件的函数)#扎克伯格演讲_第1张图片

我想要把除了台词之外的内容去掉,只留下是台词的部分。

在处理前不妨写用readlines()读取一下,看看打印出来是什么

#以写模式打开文件
File = open('speech.txt')
#一行一行读取文件
FileContent = File.readlines()

print(FileContent)

打印出了这样的内容,那我们就可以用列表的方式编辑文件内容了。

#以写模式打开文件
File = open('speech.txt')
#一行一行读取文件
FileContent = File.readlines()

#内容摘取
i=1
Content=[]
while(i<=(91*4)):
    Content.append(FileContent[i+1])
    i+=4
print(Content)

#写入文件
File = open('speech.txt','w')
for i in Content:
    File.write(i)

#关闭文件
File.close()

得到了这样的文件:

python纯文本文件读写方法(读写 .txt 和 .py 文件的函数)#扎克伯格演讲_第2张图片

如果这篇文章对你有帮助,请帮忙点个赞,如果有错误,请务必在评论区向我指出,谢谢。

你可能感兴趣的:(python学习,python,开发语言)