python:操作文档——TXT篇

python:操作文档——TXT篇

一、前言:

文档操作是任何web应用程序的组成部分,我们可以将一些保密级别不高的数据存储在文档中,这样就使得数据永久保存,而不是像全局变量一样,当程序结束后自动销毁,并释放内存。文档包含 txt 、csv 、xml 等……各种文档类型。那么python如何操作 TXT 文档呢,下面我们一起学习!

二、 文档操作

1、简介

​ 所谓文档操作,就是对某种类型文件的创建、写入数据、删除数据、修改数据、查询数据、保存文档、删除文档等……一系列的流程操作。

​ 那么操作文档有什么意义呢?首先声明一点:没有意义的操作我们是不会去学习他的,那么文档操作肯定是有意义的。首先,文档操作是大部分后端语言都要去接触学习的一个知识点,因为文档操作是任何web应用程序的组成部分,它可以永久保存保密程序不够高的数据,比如说你版本更新,更新的什么,有什么功能,都会存入文档,这样就解决了变量临时性保存数据的问题。

​ 以下是本人腾讯QQ每次更新自带的text文档:
在这里插入图片描述

2、打开文档

# 方法【1】
"""
使用open()函数,但是每次打开后需要使用close()函数关闭
格式:open(file, mode, buffering, encoding, errors, newline, closefd, opener)
"""
# 完整语法格式为:
doc = open(file, mode='r', buffering=-1, encoding="utf-8", errors=None, newline=None, closefd=True)

# 方法【2】
"""
同样也是使用open()函数,但不同的是,它会自动关闭,所以无需使用close()函数手动关闭
"""
# 语法格式:
with  open(file, mode='r', buffering=-1, encoding="utf-8", errors=None, newline=None, closefd=True)as
doc:
(1)open()函数参数说明
参数说明
file必须参数,文件路径+文件名称(相对路径或绝对路径)
mode可选,文件的打开模式
buffering设置缓冲
encoding文件的打开版本,一般都使用utf-8
errors报错级别
newline区分换行符,这个在操作csv文档用处比较大
closefd传入的file参数类型,一遍情况下都是字符串
(2)文档的打开模式
r读取-默认值。打开文件进行读取,如果文件不存在报错
a追加-打开文档,光标移至最后,追加数据,如果文档不存在,则创建
w写入-打开文档,光标移至开头,用于写入数据,如果文档不存在,则创建文档,如果文档中有数据,那么将直接覆盖
x创建-创建指定格式文档,如果文档存在则报错
t文本-默认值,文本模式
b二进制模式(例如图像)

3、创建并写入文档

# 首先,因为我创建文档肯定要去写入东西的,所以使用写的模式打开
# 方法【1】


# 1、打开指定路径的txt文档,并赋值给一个变量,通过变量操作文档
# 以写的模式创建文档,文档名称为my_File.txt,版本为utf-8,如果不写utf-8则会出现鬼码
file = open("my_File.txt", "w",encoding="utf-8")

# 2、创建一个列表装上一些自己想加的字符串
my_list = ["python", "hellow", "world\n"]

# 3、使用join()函数在列表的每一个元素的后边连接换行符,并生成一个新的字符字符串
# 注意:join()函数用于可迭代对象,并且将字符串连接到可迭代对象的每一个元素后边(除最后一个元素外),所以要个给列表的最后一个元素加上换行符
new_str = "\n".join(my_list)

# 4、write函数用于写入字符串,write默认不会换行,所以要连接换行符
file.write("你好,世界\n")

# 5、writelines用于写入一个可迭代的对象,比如列表、元组、字符串等……这里我们将生成的新字符串new_str写入
# 注意writelines()函数也不会换行,所以要连接换行符
file.writelines(new_str)

# 6、最后关闭该文件,该笔的同时实则就是保存了
file.close()


# 方法【2】

# 1、打开指定路径的txt文档,并赋值给一个变量,通过变量操作文档,这里的变量在后边
# 以写的模式创建文档,文档名称为my_File.txt,版本为utf-8,如果不写utf-8则会出现鬼码
with open("my_File.txt", "w",encoding="utf-8")as file:
    
    # 2、创建一个列表装上一些自己想加的字符串
    my_list = ["python", "hellow", "world\n"]
    
    # 3、使用join()函数在列表的每一个元素的后边连接换行符,并生成一个新的字符字符串
    # 注意:join()函数用于可迭代对象,并且将字符串连接到可迭代对象的每一个元素后边(除最后一个元素外),所以要	个给列表的最后一个元素加上换行符	
    new_str = "\n".join(my_list)
    
    # write函数用于写入字符串,write默认不会换行,所以要连接换行符
    file.write("你好,世界\n")
    
    # writelines用于写入一个可迭代的对象,比如列表、元组、字符串等……
    # 注意writelines()函数也不会换行,所以要连接换行符
    file.writelines(new_str)

运行结果:
在这里插入图片描述

4、读取文档

(1)read( int )函数
with open("my_File.txt","r",encoding="utf-8")as file:

    """
    read()函数不带参数会获取文档中的全部字符,带int参数则从头开始获取几个字符,换行符算一个字符
    当参数超过文档字符,不会报错,而是全部获取
    """
    print(file.read())

(2)readlines( int )函数
"""
    使用readlines()函数不带参数会默认获取文档中的全部参数(包括换行符),并返回一个列表
    如果带参数,则只返回一个包含相应参数个数的数据列表
    """
    print(file.readlines())

(3)readline( int )函数
 # readline()函数不带参数会获取文档中的一行,带int参数则获取一行中的几个字符(换行符算一个字符)
 print(file.readline(2))

5、追加数据

# 其实追加数据和写入数据差不多,只不过打开模式变为了a
# a代表以追加的方式打开文档
with open("my_File.txt", "a", encoding="utf-8")as file:
    my_list = ["qq音乐", "网易云音乐", "酷我音乐", "酷狗音乐\n"]
    new_str = "\n".join(my_list)
    # write函数用于写入字符串
    file.write("知名音乐APP有:\n")
    # writelines用于写入一个可迭代的对象,比如列表、元组、字符串等……
    file.writelines(new_str)

# 追没追加上咱读取以下就知道了
with open("my_File.txt","r",encoding="utf-8")as file:
    # 获取并输出文档中的全部数据
    print(file.read())

运行结果:
在这里插入图片描述

6、删除文档

# 方法【1】:


import os
# 【1】删除文档需要导入os模块


"""
1、调用os模块下的函数remove(file_name)
2、但是有时候我们不知道该文档是否存在,如果不存在删除肯定会报错
3、所以为了避免这种问题的发生,我们要使用条件判断语句
4、并且要使用os模块下的函数path.exists判断该文件是否存在,如果在那么exists会返回True,否则返回False
"""
# 如果该文件在该目录下存在
if os.path.exists("my_File.txt"):
    # 那么就删除
    os.remove("my_File.txt")
else:
    # 否则提示
    print("该目录下不存在该文件")

# 方法【2】:


import os
# 【1】删除文档需要导入os模块



"""
1、调用os模块下的函数remove(file_name)
2、但是有时候我们不知道该文档是否存在,如果不存在删除肯定会报错
3、所以为了避免这种问题的发生,我们使用os下的函数listdir(path),返回包含该目录下的所有文件的列表,并输出
4、我们就可以通过输出的这个列表来看该文件是否存在,如果存在则删除
"""


# 获取该文件目录下的所有文件列表
print(os.listdir("E:\Python_Learning\python_File\学生管理系统项目day_06"))
# 查看存在,那么就删除
os.remove("my_File.txt")")

os.listdir( path )函数输出结果:

在这里插入图片描述

三、总结

以上均为python操作txt文档的基本操作流程:创建=>>读取=>>追加=>>读取=>>删除,其操作的主要目的是为了永久性存储保密性不高的数据,这样就解决了变量临时性存储数据的难题。如果本篇文章有什么不完善的地方,还请各位码友能够多多指点,后续将为大家不断更新python操作其他类型文档等一些python相关的知识,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

御弟謌謌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值