我使用Sublime + Anaconda,它具有内置的PyLint功能。
我无法弄清楚下一个区块中pars_f_name)
行的原因:
else:
# Get parameters file name from path.
pars_f_name = pars_f_path.split('/')[-1]
print (" WARNING: Unknown '{}' ID found in line {}\n"
" of '{}' file.\n").format(reader[0], l + 1,
pars_f_name)
# Pack params in lists.
pl_params = [flag_make_plot, plot_frmt, plot_dpi]
被标记为:
[W] PEP 8 (E128): continuation line under-indented for visual indent
我已经尝试了我能想到的每一个缩进(如建议here)但Anaconda一直将该行标记为PEP8 E128警告。
我在这里做错了什么?
答案 0 :(得分:8)
您需要进一步缩进string::compare()
参数:
str.format()
作为个人选择,我将这些参数全部放在一行,缩进:
print (" WARNING: Unknown '{}' ID found in line {}\n"
" of '{}' file.\n").format(reader[0], l + 1,
pars_f_name)
# ^^^^^^^^^^^^
这称为hanging indent。
见PEP 8的Indentation section;这些注意事项递归地应用于每个嵌套的调用表达式。
答案 1 :(得分:1)
替换:
print (" WARNING: Unknown '{}' ID found in line {}\n"
" of '{}' file.\n").format(
reader[0], l + 1, pars_f_name)
使用:
print (" WARNING: Unknown '{}' ID found in line {}\n"
" of '{}' file.\n").format(reader[0], l + 1,
pars_f_name)
它基本上抱怨print(
" WARNING: Unknown '{}' ID found in line {}\n"
" of '{}' file.\n".format(
reader[0], l + 1, pars_f_name
)
)
部分缺少缩进;但按照上面的例子格式化你的代码使它更具可读性!
更新:这称为"悬挂缩进"在PEP8中(参见:@ MartijnPieters的回复)这个回答更多的是"这里是如何修复它并使它同时可读的#34;。 (不幸的是,虽然有很多相互竞争的主观意见!)