问题描述
最近我碰巧写了很多 Python 代码来进行文件处理/解析。经常困扰我的一件事,尤其是在这样的代码中,随着嵌套级别的增加,将行保持在一定长度以下(你好 PEP8)变得越来越困难。
我的解析代码经常有
class file_parser(): |
def do_parse(): |
with open(f_in,"r") as fh: |
for line in fh: |
try: |
if "test" in line: |
parse_test(line) |
else: |
parse_real(line) |
except ParseError as e: |
log.warning(f"Failed to parse line {line} from file {f_in}: {e})
那已经是五层深了;缩进宽度为 4,即线宽的 25%。
当我知道的时候我很高兴
还有能力
有助于减少嵌套层数。
可能
也可以用来避免另一层嵌套;虽然我还没有看到具体的用例。
在一个极端的情况下(在我看来),我将部分处理分解为一个单独的方法,只是为了让缩进“重新开始”。不知怎的,那感觉不对。
那么,这是我的问题:
除了忽略(或 a)推荐的最大线长之外,经验丰富的开发人员还使用 Python 的哪些技巧、构造、策略或特性来解决这种“线宽空间损失”问题?或者这毕竟不是问题吗?虽然 I do not seem to be the only one thinking about it,但我没有找到太多解决嵌套代码(段)的具体情况。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)