【问题标题】:Calling Python file from within PHP从 PHP 中调用 Python 文件
【发布时间】:2015-06-08 18:31:53
【问题描述】:

我想从 PHP 中调用 Python 文件。 我试过这个:

exec('C:\Python34\python.exe ./python/genereBonDeCommande.py');

但它不起作用。 在我的 Python 文件中,我有这个:

fichier = open(repertoire+"C:/Program Files/EasyPHP-DevServer-14.1VC9/data/localweb/projects/Administration/bonsDeCommandes" + nom_fichier, "No13");
fichier.write('hello');

那我如何在 PHP 中调用 Python 文件呢?

【问题讨论】:

标签: php python windows exec


【解决方案1】:

尝试使用文件的完整路径执行脚本,如下所示:

<php
//If your file is in C:\wamp\www\python
exec('C:\Python34\python.exe C:\wamp\www\python\genereBonDeCommande.py');

【讨论】:

  • 当我使用 cmd 执行文件时,它告诉我“io.UnsupportedOperation: not writable”
  • 你能在你的genereBonDeCommande.py中回显一个值来测试问题出在哪里吗?因为可能错误在这个文件中
  • 问题是它不想写入文件。如果我把 fichier.read() 改为它可以正常工作。
  • @guillaumedrillaud 然后你的问题 “那我如何从 PHP 中调用 Python 文件?” 解决了问题是其他
  • 我不知道它是否有效,因为如果我输入 fichier.read() 没有错误,但我不知道调用是否有效。如何检查通话是否有效?
【解决方案2】:

这是解决方案,要创建一个文件,请放置以下行:

fichier = open("C:/Program Files/EasyPHP-DevServer-14.1VC9/data/localweb/projects/Administration/bonsDeCommandes/No15.txt","w");

w 如果文件不存在则创建一个文件,如果存在则覆盖它

而不是这个:

fichier = open(repertoire+"C:/Program Files/EasyPHP-DevServer-14.1VC9/data/localweb/projects/Administration/bonsDeCommandes" + nom_fichier, "No13");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 2015-04-08
    • 2020-01-29
    • 1970-01-01
    相关资源
    最近更新 更多