Python - 操作txt文件

创建txt文件


import os

file = os.getcwd()
if not os.path.exists(file + os.sep + "test666.txt"):
    os.mknod("test666.txt")

打开txt文件

open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)函数用来打开txt文件。

#方法1,这种方式使用后需要关闭文件
f = open("data.txt","r", encoding='utf8')
f.close()
 
#方法2,使用文件后自动关闭文件
with open('data.txt',"r", encoding='utf8') as f:

参数说明:

  • file:文件路径(相对路径或绝对路径)
  • mode:打开文件的模式,常用有:rwar+w+a+
    • r:以读方式打开文件,可读取文件信息。
    • w:以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容。
    • a:以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建。
    • r+:以读写方式打开文件,可对文件进行读和写操作。
    • w+:消除文件内容,然后以读写方式打开文件。
    • a+:以读写方式打开文件,并把文件指针移到文件尾。
  • buffering:设置缓冲
  • encoding:常用编码:utf8GBK
  • errors:报错级别
  • newline:区分换行符
  • closefd:传入的file参数类型

读取txt文件

  • f.read(int count) 读出文件,如果有count,则读出count个字符,如果不设count则读取整个文件。返回的数据类型为str
  • f.readline() 读出一行信息。返回的数据类型为str
  • f.readlines() 读出所有行,也就是读出整个文件的信息。返回的数据类型为list

示例1
shuyu

file_path = "read.txt"  # 文件位置,这里用的相对路径
with open(file_path, "r", encoding='utf8') as f:  # 获取文件对象,
    lines = f.readlines()   # 使用readlines()读取文件所有行
    for line in lines:      # 循环读出的所有行
        print(line, end='') # 输入每一行,并去掉原有的'/n',line.strip()也可以

示例2:将数字转为字符串列表
shuyu

file_path = "../test.txt"
with open(file_path, "r", encoding='utf8') as f:
    lines = f.readlines()
    for line in lines:
        # astr = "'" + line.replace(’\n’,’’) + "',"   # 去掉/n 方式一
        astr = "'" + line[:-1] + "',"                 # 去掉/n 方式二
        print(astr)

写入txt文件

  • f.write(str) 把str字符串写入文件。
  • f.writelines(list) 把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。

示例1
shuyu

file_path = "write.txt"
data_list = ["不登高山,不知天之高也;", "不临深溪,不知地之厚也。"]
with open(file_path, "w", encoding='utf8') as f:
    for line in data_list:
        f.write(line + '\n')

删除txt文件

import os
os.remove(r"test.txt")  # 对所有类型的文件有效

猜你喜欢

转载自blog.csdn.net/weixin_44988085/article/details/129298128