【python查找替换:查找空行,空行前后添加,
中间添加 # + 空格 + 空行后遇到的第1行文字? - CSDN App】http://t.csdnimg.cn/QiKCV
def is_blank(line):
return len(line.strip()) == 0
txt = '''
时间戳:
("%Y-%m-%d %H:%M:%S")
代码要求:
添加时间戳库 标签 标题 标记
规范函数 变量 库检测导入 定义名
# 省略部分txt文本...
纯代码
讲解
'''
lines = txt.splitlines()
for i in range(len(lines)):
line = lines[i]
if is_blank(line):
lines[i] = '\n```\n# ' + lines[i+1] + '\n```'
i += 1
modified_txt = '\n'.join(lines)
print(modified_txt)
.1.2.1空行问题1.3.1.5.py" && exit < Traceback (most recent call last):
File "/storage/emulated/0/qpython/评论截 图问题1.矩阵2.1.2.1空行问题1.3.1.5.py", li ne 25, in <module>
lines[i] = '\n```\n# ' + lines[i+1] + '\n```'
~~~~~^^^^^
IndexError: list index out of range
1|:/ $
出现了"IndexError: list index out of range"的错误。这是因为在处理空白行时,当最后一行是空白行时,会导致lines[i+1]
超出了列表范围。
修正代码:
为了解决这个问题,我们可以在遍历时判断当前行是否为最后一行,如果是则不处理该空白行。你可以将修改后的代码如下:
def is_blank(line):
return len(line.strip()) == 0
txt = '''
时间戳:
("%Y-%m-%d %H:%M:%S")
代码要求:
添加时间戳库 标签 标题 标记
规范函数 变量 库检测导入 定义名
# 省略部分txt文本...
纯代码
讲解
'''
lines = txt.splitlines()
for i in range(len(lines)):
line = lines[i]
if is_blank(line):
if i != len(lines) - 1: # 判断是否为最后一行
lines[i] = '\n```\n# ' + lines[i+1] + '\n```'
else:
lines[i] = '\n```\n# ' + lines[i] + '\n```'
modified_txt = '\n'.join(lines)
print(modified_txt)
在修改后的代码中,添加了一个条件判断语句if i != len(lines) - 1
来判断是否为最后一行。如果是最后一行,则将空白行替换为'\n```\n# ' + lines[i] + '\n```'
;如果不是最后一行,则按之前的逻辑进行处理。
/data/user/0/org.qpython.qpy/files/bin/qpy thon3.sh "/storage/emulated/0/qpython/评论 截图问题1.矩阵2.1.2.1空行问题1.3.1.5.py" & & exit
.1.2.1空行问题1.3.1.5.py" && exit <
```
# 时间戳:
```
时间戳:
("%Y-%m-%d %H:%M:%S")
```
# 代码要求:
```
代码要求:
添加时间戳库 标签 标题 标记
规范函数 变量 库检测导入 定义名
```
# # 省略部分txt文本...
```
# 省略部分txt文本...
```
# 纯代码
```
纯代码
讲解
```
#
```
```
#
```
#[QPython] Press enter to exit ...