700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Python随笔:对 txt 文件进行读写 清除 删除操作

Python随笔:对 txt 文件进行读写 清除 删除操作

时间:2022-05-17 04:27:49

相关推荐

Python随笔:对 txt 文件进行读写 清除 删除操作

Python随笔:对 txt 文件进行读写,清除内容,删除操作

文章目录

Python随笔:对 txt 文件进行读写,清除内容,删除操作1.文件读写1.1 读写文件前打开文件的两个方法1.2 写入文件内容1.3 文件读取操作2. 清除文件内容3. 删除文件

1.文件读写

1.1 读写文件前打开文件的两个方法

第一种**(推荐)**:通过with open( ) as f:来打开文件

这种方法会自动关闭文件。不用通过f.close()来关闭文件了。

第二种:通过f = open( )来打开文件,不过使用完文件后一定要使用f.close()关闭文件。

1.2 写入文件内容

例子:

with open(r'test.txt','a+',encoding='utf-8') as test:test.write('行1\n')test.write('行2\n')with open(r'test.txt','a+',encoding='utf-8') as test:test.write('行1\n')test.write('行2\n')

文件查看如下图:

可以看到成功创建了test.txt文件,并在文件写入了四句话。

解析:open(r'test.txt','a+',encoding='utf-8')

r’test.txt’ 是要写入文件路径名,可以使用绝对路径(使用绝对路径时要确保路径文件夹存在),

加 r 的意思可以看 Python随笔:进行读写文件时,在字符串前加 r,u,b,f 的含义

‘a+’ 是对文件的操作模式,'a+'模式是追加模式,+号表明可以进行读写,更多模式看下面文件操作模式表

encoding=‘utf-8’ 是指明文件的编码(推荐使用)。

文件操作模式表

‘r’ 读取模式(默认值)‘w’ 写入模式‘x’ 独占写入模式‘a’ 附加模式‘b’ 二进制模式(与其他模式结合使用)‘t’ 文本模式(默认值,与其他模式结合使用)‘+’ 读写模式(与其他模式结合使用)

推荐:当每次对文件进行读写时都要删除之前的内容,使用'w+'

当每次读写文件都是在文件末尾增添内容,使用'a+'

显式地指定读取模式的效果与根本不指定模式相同。写入模式让你能够写入文件,并在文件不存在时创建它。独占写入模式更进一步,在文件已存在时引发FileExistsError异常。在写入模式下打开文件时,既有内容将被删除(截断),并从文件开头处开始写入;如果要在既有文件末尾继续写入,可使用附加模式 ‘a+’。

'+‘可与其他任何模式结合起来使用,表示既可读取也可写入。例如,要打开一个文本文件进行读写,可使用’r+’。(你可能还想结合使用seek文件指针。)请注意,'r+'和’w+'之间有个重要差别:后者截断文件,而前者不会这样做。

1.3 文件读取操作

对上面写入的文件进行读取:

with open(r'test.txt','a+',encoding='utf-8') as test:test.seek(0,0) #文件指针,(0,0)表文件开头位置,(0,1)代表当前位置,(0,2)代表文件末尾位置#由于在 ‘a+’ 模式下,打开的文件指针是在末尾位置,所以要把指针设置为文件开头才能读取内容print('进行全部读取')print(test.read())print('进行行读取')test.seek(0, 0)#由于上面读取了一次,所以要把指针再设置为文件开头才能读取内容print(test.readline())print('进行一次性按行读取')test.seek(0, 0)print(test.readlines())

结果:

进行全部读取行1行2行1行2进行行读取行1进行一次性按行读取['行1\n', '行2\n', '行1\n', '行2\n']

解析:如上,有 3 种方式进行文件读取,read()是以字符串方式一次性读完文件内容;readline()是读取一行文件内容,可以指定行数,默认文件指针所在第一行,readlines()是以列表的格式按行读取文件内容。

注:对文件进行读取时一定要注意文件指针位置。刚打开文件时:'r+'和'w+'文件指针是文件开头,'a+'文件指针是文件末尾。通过 seek() 指定文件指针进行多样化文件读取操作。

2. 清除文件内容

使用情况:在对文件写入内容时,在某个条件下要清除文件内容再进行写入操作时,就可以使用truncate(size),不用删除文件再从新创建。

我们可以使用truncate(size)函数来删除 txt 文件内容,size是表示从第几个字节开始清除,如果是0时代表是删除全部内容。

例子:清除上面已经写入内容的 test.txt 文件

with open(r'test.txt','a+',encoding='utf-8') as test:test.truncate(0)

清除后text.txt文件变空:

3. 删除文件

删除文件的代码如下:

import osos.remove(r'test.txt')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。