【问题标题】:subprocess usage in web2pyweb2py 中的子进程使用
【发布时间】:2012-07-02 11:03:32
【问题描述】:

我正在尝试使用 subprocess.call 方法从 web2py 的控制器函数运行 python 脚本。但是脚本不会从那里执行,但是当我在 python shell 中运行相同的方法时,它运行没有任何问题。

我在web2py控制器的函数中写的命令是:

subprocess.call(['python','script.py', args])

其中 args 是一个包含我想传递给脚本的命令行参数的字符串 我在python shell中写的命令是:

>>>subprocess.call(['python','script.py','args'])

这里我直接传递参数。

script.py 在目录中创建多个文件,但它不会在 web2py 中这样做。

我在 web2py 控制器函数中多次使用 subprocess 没有任何问题,我也尝试将 script.py 的权限更改为 777,但它也没有任何帮助。

谁能告诉我我的错误在哪里?

【问题讨论】:

    标签: python frameworks web2py


    【解决方案1】:

    也许您应该尝试提供 script.py 的完整路径?

    【讨论】:

    • 另外,我还会使用sys.executable来获取Python解释器的完整路径。
    • 如果将 'python' 替换为 'echo' 会发生什么?
    • 另外,也许这与 script.py 文件权限有关?你可以试试 chmod a+x script.py 吗?另外,你怎么知道 script.py 没有运行?
    • 我尝试更改文件权限,但它也不起作用。
    • script.py 应该在我的文件夹中生成一些文件,但是通过 web2py 不会生成这些文件,但这些文件确实使用 python shell 生成。我用过 subprocess.call 好几次,除了这种情况,每次都能正常运行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 2020-03-28
    • 2012-07-04
    • 2012-07-01
    相关资源
    最近更新 更多