使此代码pylint正确

时间:2014-05-15 12:31:54

标签: python python-2.7

def scanDevices(self):
    """ Start 2 threads, one for scanning devices and other for displaying device list on UI
    """
    self.counter = self.counter + 1
    deviceListChangedEvent = threading.Event()
    threadToScanDevices = threading.Thread(target=test_ssdp.main, args=(self.getHostIP(), self.counter, deviceListChangedEvent,))
    threadToScanDevices.setDaemon(True)
    threadToScanDevices.start()
    threadToDisplayDevices = threading.Thread(target=self.displayDevices, args=(deviceListChangedEvent,))
    threadToDisplayDevices.setDaemon(True)
    threadToDisplayDevices.start()
    self.scan.setEnabled(False)
    self.cw.btnPushProfile.setEnabled(False)

如何使此代码pylint正确?

错误 - 行太长

2 个答案:

答案 0 :(得分:4)

你可以通过在括号/括号/括号内使用Python的隐式线延续来将线分割成多行来缩短线条:

threadToScanDevices = threading.Thread(target=test_ssdp.main, 
                                       args=(self.getHostIP(), 
                                             self.counter, 
                                             deviceListChangedEvent,))

(注意使用对齐来清楚哪些子行属于一起)。

或者,将该行拆分为多个语句:

args = self.getHostIP(), self.counter, deviceListChangedEvent
threadToScanDevices = threading.Thread(target=test_ssdp.main, args=args)

PEP-0008个字词应限制为79个字符:

  

最大行长度

     

将所有行限制为最多79个字符。

     

为了使用较少的结构限制(文档字符串或注释)来流动长文本块,行长度应限制为72个字符。

     

限制所需的编辑器窗口宽度使得可以并排打开多个文件,并且在使用在相邻列中显示两个版本的代码审查工具时效果很好。

答案 1 :(得分:2)

修复"线太长的方法"错误是 - 缩短线条!

def scanDevices(self):
    """ Start 2 threads, one for scanning devices and other
        for displaying device list on UI
    """
    self.counter = self.counter + 1
    deviceListChangedEvent = threading.Event()
    threadToScanDevices = threading.Thread(target=test_ssdp.main,
                                           args=(self.getHostIP(),
                                           self.counter,
                                           deviceListChangedEvent,))
    # etc

因为括号内的行已被破坏,所以Python知道该语句在下一行继续。