Python PEP8 E128:can';我不明白为什么要标记一行

Python PEP8 E128:can';我不明白为什么要标记一行,python,sublimetext3,sublime-text-plugin,pep8,Python,Sublimetext3,Sublime Text Plugin,Pep8,我正在使用Sublime+,它有一个内置的PyLint功能 我不明白为什么在下面的块中出现pars\u f\u name)行: else: # Get parameters file name from path. pars_f_name = pars_f_path.split('/')[-1] print (" WARNING: Unknown '{}' ID found

我正在使用Sublime+,它有一个内置的PyLint功能

我不明白为什么在下面的块中出现
pars\u f\u 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
我已经尝试了我能想到的每一个缩进(正如建议的那样),但巨蟒一直将这条线标记为PEP8 E128警告


我做错了什么?

您需要进一步缩进
str.format()
参数:

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)
这被称为一个

见政治公众人物第8章的第2节;这些注意事项递归地应用于每个嵌套调用表达式。

替换:

print ("  WARNING: Unknown '{}' ID found in line {}\n"
                   "  of '{}' file.\n").format(reader[0], l + 1,
                   pars_f_name)
与:

它基本上是在抱怨
str.format()
部分缺少缩进;但是,按照上面的示例格式化代码会使代码更具可读性


更新:这在PEP8中被称为“悬挂缩进”(参见:@MartijnPieters的回复)。这个回复更多的是“如何修复它,同时使它可读”。(不幸的是,在这一点上有许多相互竞争的主观观点!)

我仍然会把父母排成一行;但是哦,好吧!个人选择和所有:)@JamesMills:我对整个
str.format()
操作都使用括号表示赞同,但我倾向于将结束括号放在同一行。:-)谢谢你,玛蒂恩!这让我抓狂,我没有注意到我还必须缩进
format()
参数。@MartijnPieters是的,很公平:)这真的很主观!我还是+1:)不知道为什么这个答案被否决了。我更喜欢Martijn的格式,但需要+1来提供解释。谢谢大家!@加布里埃尔,我也不确定;这两种方法都非常有效,但有不同的方法来解决PEP8法规遵从性的相同“挂起缩进”问题。
print(
    "  WARNING: Unknown '{}' ID found in line {}\n"
    "  of '{}' file.\n".format(
        reader[0], l + 1, pars_f_name
    )
)