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 文件操作相关知识。
原文地址: http://www.cveoy.top/t/topic/oFUc 著作权归作者所有。请勿转载和采集!