zoukankan      html  css  js  c++  java
  • flask在 iis中使用subprocess.check_output问题

    上文说到flask 可以通过wfastcgi.py 部署到iis 中,但我的项目必须使用arcpy, 不好使用linux平台,又由于其中flask 与arcpy的交互诡异问题,不得不采用外部调用 xxx.py文件方式获取结果

    所以才有了使用subprocess.check_output方式调用

    但在测试中发现单独的check_output 正常输出,在flask接口中却返回 500 服务器内部错误。多方查证,可能的原因是iis_user对cmd.exe 的权限不足,但几次设置文件夹权限之后仍无济于事。难道本身IIS 因安全问题限制此种方式调用?

    待查证。

    #coding:utf-8
    import os
    import arcpy
    import time
    import random
    import sys
    from arcpy import env
    
    print('start')
    gdb = r'E:	est-datadata2.gdb' #str(sys.argv[1])
    
    arcpy.ClearWorkspaceCache_management()
    arcpy.env.workspace=gdb
    fc = arcpy.ListFeatureClasses()
    for f in fc:
        print(f)
    print('over')
    View Code

    #coding:utf-8
    import os
    import subprocess
    from subprocess import check_output
    
    sentence=r'C:PSToolsPsExec.exe "C:Program FilesArcGISProinPythonenvsarcgispro-py3python.exe" E:site-saae-python	ools	est2.py'
    out = check_output(['python', r'E:site-saae-python	ools	est2.py'],universal_newlines=True, shell=True)
    print(out)
    View Code

     即是这句:

    @app01.route('/test02', methods=['GET'])
    def test02():
        out = check_output(['python', r'E:site-saae-python	ools	est2.py'],universal_newlines=True, shell=True)
        print(out)
        return out

    待查证。

  • 相关阅读:
    element多选下拉框的坑
    滚动条样式全局修改
    element表格自带排序的坑
    c++学习
    HTTP与TCP的区别和联系
    JSP整理
    学习目标
    mysql操作
    JAVA Date、String、Calendar类型之间的转化
    后台数据类型接收问题总结
  • 原文地址:https://www.cnblogs.com/yansc/p/14605192.html
Copyright © 2011-2022 走看看