新代码还是不能在替换完成后删除第一行以#YUMINGhttps开头的行请再次修正
好的,我会修改代码以确保替换完成后删除第一行。以下是修正后的代码:
import fileinput
import re
# 定义替换的函数
def replace_text(match_obj):
return match_obj.group(1) + 'http://new_domain.com' + match_obj.group(3)
# 遍历文件中的每一行进行替换
for line in fileinput.input('file.txt', inplace=True):
# 如果是第一行以#YUMING|https开头的行,则跳过不替换并删除
if fileinput.isfirstline() and re.match(r'^#YUMING\|https', line):
continue
else:
# 执行正则表达式替换
new_line = re.sub(r'(\s+)(https://old_domain.com)(\S+)', replace_text, line)
# 将替换后的行输出到文件中
print(new_line, end='')
请注意,代码中的inplace=True参数将直接在原始文件中进行替换操作,因此请在测试代码之前备份原始文件
原文地址: https://www.cveoy.top/t/topic/dnbI 著作权归作者所有。请勿转载和采集!