我用Python创建了一个库。我可以在Linux或Windows上使用它。我希望能够从大多数非Python脚本/程序中调用它。理想情况下,如果可能的话,我想要一个跨平台选项,但Linux是目前最重要的选项。除了通过命令提示符界面和进行系统调用/ ShellExec样式使用脚本之外,还有其他方法吗?如果这是所有基于Windows的编程,例如,我可以创建一个DLL ...虽然如果我可以直接使用该库从Linux中的php和Windows中的C ++等等,这将是非常棒的。任何想法?
答案 0 :(得分:1)
由于您说您不想使用命令行界面,因此跨平台访问服务的逻辑答案是使用Web API。并且,通过这样做,API的使用者可以在与提供者不同的OS上运行。
答案 1 :(得分:0)
拨打电话是一个广泛的描述,解决方案取决于您是否要提供和接收这些电话的输出。如果你这样做,你可以使用JSON遵循PHP和Python之间的非常通用的解决方案。对于PHP: 注意:不是我的代码,请参阅原始here。
// This is the data you want to pass to Python
$data = array('as', 'df', 'gh');
// Execute the python script with the JSON data
$result = shell_exec('python /path/to/myScript.py ' . escapeshellarg(json_encode($data)));
// Decode the result
$resultData = json_decode($result, true);
// This will contain: array('status' => 'Yes!')
var_dump($resultData);
对于Python:
import sys, json
# Load the data that PHP sent us
try:
data = json.loads(sys.argv[1])
except:
print "ERROR"
sys.exit(1)
# Generate some data to send to PHP
result = {'status': 'Yes!'}
# Send it to stdout (to PHP)
print json.dumps(result)