Python 黑元';t尊重长导入语句的行长度限制
考虑以下导入语句:Python 黑元';t尊重长导入语句的行长度限制,python,import,Python,Import,考虑以下导入语句: from modeling.estimation.performance_analysis.monte_carlo.least_squares.error_grids import BaseGrid 黑色(限制为80个字符/行)格式如下: from modeling.estimation.performance_analysis.monte_carlo.least_squares.error_grids import ( BaseGrid, ) 超过80个字符。
from modeling.estimation.performance_analysis.monte_carlo.least_squares.error_grids import BaseGrid
黑色(限制为80个字符/行)格式如下:
from modeling.estimation.performance_analysis.monte_carlo.least_squares.error_grids import (
BaseGrid,
)
超过80个字符。使用\
拆分导入语句的任何尝试都将被black撤消
我怎样才能让黑人遵守80个字符的限制?请尝试以下操作: 如果
BaseGrid
是一个函数:
package = "modeling.estimation.performance_analysis.monte_carlo.least_squares"
name = "error_grids"
BaseGrid = getattr(__import__(package, fromlist=[name]), name).BaseGrid
BaseGrid()
如果BaseGrid
是python文件(拆分字符串以遵守行长度限制):
这使用\uuuu import\uuuu
函数来导入变量,而不是使用import
语句,并且应该等效于:
from modeling.estimation.performance_analysis.monte_carlo.least_squares.error_grids import BaseGrid as BaseGrid
不幸的是,我想你不能。黑色表示它将始终为相同的输入生成相同的输出(与空白无关)。它计算python文件的上下文无关语法(CFG),删除所有空白并将文件分解为语句。之后,它会根据预定义的样式重新安排最佳格式。但不太可能干扰格式设置。black的创建者在这里解释了它是如何工作的:如果有这么长的导入语句,我想您只需要接受行长度超过了PEP8行长度,而您不想重新排列文件结构以平展层次结构。如果你的林特抱怨,你可以选择沉默这一行的具体违反。
from modeling.estimation.performance_analysis.monte_carlo.least_squares.error_grids import BaseGrid as BaseGrid