我正在使用subprocess.check_output向slack发送消息。格式是乱七八糟的,我正在考虑尝试markdown == false,但只想让它按模块设置,并且不确定如何做到这一点。我不确定这是否会解决我的问题,更大的问题是如何格式化以下文本以便可读
应该看起来像(或接近):
代码:
@botcmd
def find_vm(self, args, SearchString):
output = subprocess.check_output(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", ". \"C:\\Program Files\\Toolbox\\PowerShell Modules\\vmware\\./vmware.psm1\";", "find-vm", SearchString])
return output
答案 0 :(得分:2)
将输出包装在三重反引号中,表示Markdown中的代码块。还要注意你应该解码subprocess.check_output
的输出,因为它返回一个字节流,而不是" text"我们倾向于考虑它:
@botcmd
def find_vm(self, args, SearchString):
output = subprocess.check_output(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", ". \"C:\\Program Files\\Toolbox\\PowerShell Modules\\vmware\\./vmware.psm1\";", "find-vm", SearchString])
return "```\n{output}\n```".format(output=output.decode("utf-8"))
请务必使用您的实际系统使用的编码替换utf-8。