我正在使用 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
最佳答案
将输出包含在三个反引号中,这表示 Markdown 中的代码块。另请注意,您应该解码 subprocess.check_output
的输出,因为它返回字节流,而不是我们通常认为的“文本”:
@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 替换为您实际系统使用的编码。
关于python - 格式化从 Errbot 发送的 Slack 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42619251/