gpt4 book ai didi

Python:从 Web 界面运行时导入其他 python 文件

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:24 26 4
gpt4 key购买 nike

我正在 apache 服务器中运行从 php 调用的 python 脚本。如果我想从同一个/不同的文件夹导入 python 文件,该怎么做?我的 apache 服务器在一个目录中运行,但 python 代码在不同的目录中。那么我如何关联这两个目录结构呢?

我通常使用带有要导入的文件(例如 file2.py)中的值的变量。

+ apacheFolder
| folder1
| +folder2
|- index.html
|+ pythonFileDir
|-__init__.py
|-file1.py
|-file2.py
|-file3.py

我尝试在 file1.py 中执行以下导入命令,

import file2

但这对我没有帮助。我从 php 文件中调用 file1.py,

shell_exec("[pythonInstallDir]/python.exe [pythonFileDir]/file1.py arg1 arg2");

该 php 依次由 html 表单操作触发器调用。

最佳答案

尝试输入 __init__.pypythonFileDir首先,然后再试一次。取决于您最初调用电话的位置 file1.py from 可能会改变方式 file2.py也被称为。您可能需要调用file2.pyfrom pythonFileDir import file2

原因file1.py被调用但找不到file2.py是由于 file1.py正在被调用。

shell_exec("[pythonInstallDir]/python.exe [pythonFileDir]/file1.py arg1 arg2");

file1.py将尝试查找file2.py从执行 shell_exec 的同一目录中(很可能是 PHP 路径或调用它的 Web 目录)所以 file2.py正在完全不同的目录中搜索(远离 pythonFileDir )。

您可以尝试使用shell_exec更改您的目录用这个调用:

shell_exec("cd [pythonFileDir]; [pythonInstallDir]/python.exe file1.py arg1 arg2");

这样你实际上就会从 pythonFileDir 内部执行查找 file2.py 不会有任何问题

所以一个完整的例子是:

shell_exec("cd c:\path\to\pythonFileDir; [pythonInstallDir]/python.exe file1.py arg1 arg2");

或者您可以尝试强制 PHP 更改目录,而不是在 shell_exec() 内完成所有操作。命令:

chdir( 'C:\path\to\pythonFileDir' );
shell_exec("[pythonInstallDir]/python.exe file1.py arg1 arg2");

关于Python:从 Web 界面运行时导入其他 python 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28137723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com