Python 检查下一行的前导空格是否比当前行多
我有一个这样结构的文本文件,我需要通读每一行Python 检查下一行的前导空格是否比当前行多,python,python-3.x,Python,Python 3.x,我有一个这样结构的文本文件,我需要通读每一行 XXXX .... YYYY ZZZZ ZZZZ .... YYYY ZZZZ ZZZZ .... 。。。。指上述任意数量的对象 该文件被读入名为textList的列表中 行=枚举文本列表 对于i,行中的行: 读入XXXXs 如果行==YYYY 从该位置,获取行中的下一行 i、 e.i,线条=线条__ 直到下一行的金额相同或更低 比之前的空白量 具有YYYY的行 我尝试过几种不同的方法,但我不断得到无
XXXX
....
YYYY
ZZZZ
ZZZZ
....
YYYY
ZZZZ
ZZZZ
....
。。。。指上述任意数量的对象
该文件被读入名为textList的列表中
行=枚举文本列表
对于i,行中的行:
读入XXXXs
如果行==YYYY
从该位置,获取行中的下一行
i、 e.i,线条=线条__
直到下一行的金额相同或更低
比之前的空白量
具有YYYY的行
我尝试过几种不同的方法,但我不断得到无限循环。我知道这是可能的,但我一直没能弄明白
当前脚本:给定索引错误
def getIndentLevelline:
tabCount=lenline-lenline.lstrip“”
printtabCount
返回选项卡计数
textList=[XXXX,
XXXX,
XXXX,
YYYY,
ZZZZ,
ZZZZ,
YYYY,
ZZZZ,
ZZZZ]
行=枚举文本列表
对于i,行中的行:
如果行.lstrip'==YYYY:
找到打印YYYY
cur=getIndentLeveltextList[i]
尽管如此:
nxt=getIndentLeveltextList[i+1]
如果nxt此脚本解决了问题: def getIndentLevelline: tabCount=lenline-lenline.lstrip“” 返回选项卡计数 textList=[XXXX, XXXX, XXXX, YYYY, ZZZZ, ZZZZ, YYYY, ZZZZ, ZZZZ, , , , XXXX, XXXX,] 行=枚举文本列表 对于i,行中的行: 如果行.lstrip'==YYYY: 找到打印YYYY cur=getIndentLeveltextList[i] nxt=getIndentLeveltextList[i+1] 尽管如此:
如果nxt我认为你不需要列举
for i in range(len(textList)) :
numWhiteSpace = len(textList[i]) - len(textList[i].lstrip())
if i == 0:
continue
else:
if numWhiteSpace > (len(textList[i-1]) - len(textList[i-1].lstrip())):
print(textList[i])
请发布您尝试过的代码,它让您陷入无限循环。@JosephSible Done您认为该循环将如何退出?我看到有一段时间是真的,里面没有休息或其他提前退出的方式。我是个白痴。谢谢听起来列表索引可能超出范围。