我有一些生成HTML输出的python实用程序。我希望能够将输出重定向到浏览器以进行预览,而不是保存到临时文件,并在Web浏览器中打开它。例如,像:
myscript.py | open /Applications/Safari.app
有没有办法做这样的事情?我在OS X上。
答案 0 :(得分:1)
关于我能想到的最好的方法是将HTML编码为data:
网址并打开浏览器:
import webbrowser, base64
html = "<b>hello world</b>"
b64url = "data:text/html;base64," + base64.b64encode(html)
webbrowser.get("safari").open(b64url)
但是,对于除Safari之外的任何浏览器,这似乎都不可靠。我不确定它对大页面的效果如何; URL最终可能会变得太大而无法处理。
答案 1 :(得分:0)
open
实用程序功能非常强大,请检查man open
。虽然-f
参数说明提到了默认文本编辑器,但它实际上适用于所有应用程序。所以对于你的情况,这应该有效:
myscript.py | open -f -a safari
不幸的是open
只是将您的输入保存到临时.txt
文件中,浏览器将其视为纯文本,因此您无法以这种方式呈现HTML。