在我之前的问题(“Pylint E0202 误报?”)之后是另一个问题(我猜很具体)
我们正在使用模块子流程来执行一个子流程。
创建示例代码导致以下结果:
"Example code for E1103"
import subprocess
pipeOpen = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
(responseData, errorData) = pipeOpen.communicate()
print "Error code: '%s'. Error data: '%s'" % (pipeOpen.returncode, errorData.strip("\n").strip("\r"))
皮林特会说:
E1103: 9,67: 'list' 的实例没有'strip' 成员(但无法推断某些类型)
查看 pipeOpen.communicate() 它归结为 _communicate。事实上,stderr 被初始化为一个列表,但是,如果 self.universal_newlines 为真,则在返回之前,它会将列表转换为带有换行符的字符串。
这是一个案例#pylint: ignore-msg=E1103
还是更好地报告给 pylint 开发者?