我有一个PHP脚本(新闻generator.php),当我有它,抓住了一堆新闻和打印它们。 现在,我使用Python,我的网站(CGI)。 当我在使用PHP,我用这样的“新闻”页面上:
<?php
print("<h1>News and Updates</h1>");
include("news-generator.php");
print("</body>");
?>
(I削减为了简单的例子。)
有没有一种方法,我可以使Python执行脚本(新闻generator.php),并返回这将跨平台工作的输出? 这样一来,我可以这样做:
page_html = "<h1>News and Updates</h1>"
news_script_output = php("news-generator.php") //should return a string
print page_html + news_script_output
import subprocess
def php(script_path):
p = subprocess.Popen(['php', script_path], stdout=subprocess.PIPE)
result = p.communicate()[0]
return result
# YOUR CODE BELOW:
page_html = "<h1>News and Updates</h1>"
news_script_output = php("news-generator.php")
print page_html + news_script_output
也许偏离主题,但如果你想做到这一点的方式,你可以访问由PHP脚本创建的VAR和这样的(例如新闻项目阵列),你最好最好的将是做PHP脚本的高管,但是从PHP返回项目的JSON编码数组作为字符串,则JSON在Python端对它们进行解码,并做你的HTML生成和迭代那里。
我认为最好的答案是让Apache单独渲染两个页面,然后使用JavaScript到该页面加载到一个div。 你有AJAX负荷略有放缓,但那么你不必担心。
有将在1页运行多国语言,但我不记得它被称为开源插件的东西。
你可以使用的urllib从服务器(本地主机)获得页面,并在PHP正确的环境执行。 不漂亮,但它会工作。 如果你这样做了很多这可能会导致性能问题。