Pylint E1103假阳性?

2024-10-01 07:10:17 发布

您现在位置:Python中文网/ 问答频道 /正文

在我上一个问题("Pylint E0202 False Positive?")之后是另一个问题(我想是相当具体的)

我们正在使用模块子流程来执行子流程。
创建示例代码会导致以下结果:

"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: Instance of 'list' has no 'strip' member (but some types could not be inferred)

注视着pipeOpen.communicate管道开放()它可以归结为交流。实际上,stderr在返回if之前初始化为一个listself.universal\u新线为true,则它将列表转换为具有新行的字符串。在

这是#pylint: ignore-msg=E1103的情况,还是最好报告给pylint开发人员?在


Tags: stderrcodeerror流程universalpylintsubprocessstrip
1条回答
网友
1楼 · 发布于 2024-10-01 07:10:17

好吧,如果print(pipeOpen.universal_newlines and hasattr(file, 'newlines'))返回True,并且在实际运行代码时没有出现任何错误,那么您应该向pylint开发人员报告,同时忽略该消息

相关问题 更多 >