Python 文件查询和修改函数
查询函数
def Inquire(file, location, Inquire_location, target):
    with open(file, 'r') as fp:
        lineslen = len(fp.readlines())
        fp.seek(location)
        # 查询账号
        flag = True
        for i in range(lineslen - 1):
            # 提取储存的账号
            line = fp.readline()
            verify_target = []
            counting = 0
            for j in line:
                if j == ',':
                    counting = counting + 1
                if j != ',' and counting == Inquire_location:
                    verify_target.append(j)
            verify_the_target = verify_target[0]
            for j in range(1, len(verify_target)):
                verify_the_target = verify_the_target + verify_target[j]
            if verify_the_target == target:
                flag = False
                return {i: line.strip()}
        if flag:
            print('未查找到')
修改函数
def Modify(file, location, Inquire_location, target, new_info):
    with open(file, 'r+') as fp:
        lineslen = len(fp.readlines())
        fp.seek(location)
        # 查询账号
        flag = True
        for i in range(lineslen - 1):
            # 提取储存的账号
            line = fp.readline()
            verify_target = []
            counting = 0
            for j in line:
                if j == ',':
                    counting = counting + 1
                if j != ',' and counting == Inquire_location:
                    verify_target.append(j)
            verify_the_target = verify_target[0]
            for j in range(1, len(verify_target)):
                verify_the_target = verify_the_target + verify_target[j]
            if verify_the_target == target:
                flag = False
                fp.seek(location + i * (len(line) + 1))
                fp.write(new_info + '\n')
                return True
        if flag:
            print('未查找到')
            return False
代码说明:
- Inquire 函数:用于查询文件中特定位置的数据,并返回匹配项所在的行号和内容。
- Modify 函数:用于修改文件中特定位置的数据,并将修改后的内容写入文件。
- 函数使用文件指针定位,根据指定的查询条件进行匹配,找到匹配项后进行相应操作。
- 函数参数解释:
- file: 文件名
- location: 文件指针起始位置
- Inquire_location: 匹配项所在位置的偏移量
- target: 匹配目标
- new_info: 新内容
 
使用示例:
# 查询示例
result = Inquire('data.txt', 0, 2, '123456')
print(result)
# 修改示例
Modify('data.txt', 0, 2, '123456', 'new_info')
注意:
- 以上代码假设文件内容以逗号分隔,并且匹配项在特定位置的偏移量是已知的。
- 可以根据实际情况修改代码逻辑,例如修改匹配条件或数据格式。
- 在修改文件时,需要确保文件是可写状态。
希望以上代码和说明能够帮助您更好地理解 Python 文件操作相关知识。
 
原文地址: https://www.cveoy.top/t/topic/oFUc 著作权归作者所有。请勿转载和采集!