我困在我的項目工作中。我是否可以將.py腳本的.xml文件發送到.php腳本而不使用API
我必須從我的python腳本發送.xml文件到.php腳本而不使用任何API。
我可以爲此使用什麼方法/模塊?
PHP腳本收到文件後應該要求用戶下載並從瀏覽器下載。
請引導我一些想法。
感謝所有幫助提前
我困在我的項目工作中。我是否可以將.py腳本的.xml文件發送到.php腳本而不使用API
我必須從我的python腳本發送.xml文件到.php腳本而不使用任何API。
我可以爲此使用什麼方法/模塊?
PHP腳本收到文件後應該要求用戶下載並從瀏覽器下載。
請引導我一些想法。
感謝所有幫助提前
如果Python和PHP配備在同一臺服務器上,考慮一個簡單的文件導出/隱藏t其中的XML內容轉換爲字符串,並保存爲從Python中的文件,然後讀入PHP:
的Python
import xml.etree.ElementTree as ET
xmlstr = '''\
<data>
<example>88</example>
</data>'''
dom = ET.fromstring(xmlstr)
tree_out = ET.tostring(dom, encoding='UTF-8', method='xml')
xmlfile = open('/path/to/Output.xml', 'wb')
xmlfile.write(tree_out)
xmlfile.close()
PHP
// LOAD XML SOURCE
$doc = new DOMDocument();
$doc->load('/path/to/Output.xml');
// ECHO CONTENT
echo $doc->saveXML();
命令行
可以使用exec()
甚至稱通過從PHP命令行的Python腳本:
exec('python /path/to/Python/Script.py');
// LOAD XML SOURCE
$doc = new DOMDocument();
$doc->load('/path/to/Output.xml');
// ECHO CONTENT
echo $doc->saveXML();
//<?xml version="1.0"?>
//<data>
// <example>88</example>
// </data>
並採用子的call
或Popen
import subprocess
#... same as above ...
# RUN CHILD PROCESS W/O OUTPUT
subprocess.call(['php', '/path/to/PHP/Script.php'])
# RUN CHILD PROCESS W/ OUTPUT
proc = subprocess.Popen(['php','/path/to/PHP/Script.php'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
print(stdout.decode("utf-8"))
#<?xml version="1.0"?>
#<data>
# <example>88</example>
# </data>
在Python反之亦然我認爲你必須創建一個小的蟒蛇服務器的XML文件。 https://docs.python.org/2/library/simplehttpserver.html – wrufesh
爲什麼不把XML從Python保存到磁盤並讀入PHP? – Parfait