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 os
os.remove(r'test.txt')

你可能感兴趣的:(python随笔,python)