python操作txt文件 增删查改数据代码

python操作txt文件 增删查改数据代码

python实例qingyu2023-06-02 16:12:45312A+A-

  功能需求:

  在操作txt文件时,我们通常需要实现以下需求:

  1. 添加一行数据到文件末尾。

  2. 删除文件中指定的一行数据。

  3. 查找文件中包含指定字符串的行。

  4. 修改文件中指定的一行数据。

  这些需求通常是对txt文件进行增删查改操作的基本需求,可以满足大部分应用场景。在实际应用中,我们还需要考虑文件的大小、并发访问、错误处理等问题,以确保程序的正确性和稳定性。

  完整代码:

# 将一行数据添加到文件末尾
def add_line_to_file(filename, line):
    with open(filename, 'a') as f:
        f.write(line + '\n')


# 删除文件中指定的一行数据
def delete_line_from_file(filename, line_number):
    # 先读取所有行
    with open(filename, 'r') as f:
        lines = f.readlines()
    # 再写入除了指定行以外的所有行
    with open(filename, 'w') as f:
        for i, line in enumerate(lines):
            if i != line_number - 1:
                f.write(line)


# 查找文件中包含指定字符串的行
def find_line_in_file(filename, search_string):
    with open(filename, 'r') as f:
        for i, line in enumerate(f):
            if search_string in line:
                print(f'Line {i + 1}: {line}', end='')


# 修改文件中指定的一行数据
def modify_line_in_file(filename, line_number, new_line):
    # 先读取所有行
    with open(filename, 'r') as f:
        lines = f.readlines()
    # 修改指定行的数据
    lines[line_number - 1] = new_line + '\n'
    # 再写入所有行
    with open(filename, 'w') as f:
        f.writelines(lines)

if __name__ == '__main__':

    filename = 'data.txt'
    add_line_to_file(filename, '小红,18,女')
    add_line_to_file(filename, '小白,17,男')
    add_line_to_file(filename, '小于,20,男')
    print('-------------data.txt数据:-------------')
    find_line_in_file(filename, '')
    print('-------------删除第二行后数据:-------------')
    delete_line_from_file(filename, 2)
    find_line_in_file(filename, '')
    print('-------------修改第一行后数据:-------------')
    modify_line_in_file(filename, 1, '小红红,18,女')
    find_line_in_file(filename, '')
    print("-------------搜索数据:-------------")
    find_line_in_file(filename, '小于')

  代码实现分析:

  这个例子中,我们使用了Python内置的文件操作函数来操作txt文件。具体来说,我们使用了以下函数:

  - `open`:打开文件,返回一个文件对象。

  - `readlines`:读取文件中的所有行,返回一个字符串列表。

  - `write`:向文件中写入数据。

  - `writelines`:向文件中写入多行数据。

  - `in`:判断一个字符串是否包含另一个字符串。

  在`add_line_to_file`函数中,我们使用了`with`语句打开文件,以追加模式写入一行数据,最后自动关闭文件。

  在`delete_line_from_file`函数中,我们首先使用`with`语句打开文件,以只读模式读取所有行。然后,我们使用`with`语句再次打开文件,以写入模式写入除了指定行以外的所有行。最后,我们自动关闭文件。

  在`find_line_in_file`函数中,我们使用`with`语句打开文件,以只读模式逐行读取文件中的数据。如果当前行包含指定的字符串,我们就打印出该行数据。

  在`modify_line_in_file`函数中,我们首先使用`with`语句打开文件,以只读模式读取所有行。然后,我们修改指定行的数据。最后,我们使用`with`语句再次打开文件,以写入模式写入所有行,完成修改操作。

  需要注意的是,在实际应用中,我们需要考虑文件的大小、并发访问、错误处理等问题,以确保程序的正确性和稳定性。

  运行结果图:

python操作txt文件 增删查改数据代码

点击这里复制本文地址 欢迎来到大黄鸡源码分享网
qrcode

大黄鸡源码编程网 © All Rights Reserved.  
网站备案号:闽ICP备18012015号-4
Powered by Z-BlogPHP
联系我们| 关于我们| 广告联系| 网站管理