要通过WSGI(Web Server Gateway Interface)进程持有的Python脚本运行终端命令,你可以使用Python的subprocess
模块。这个模块允许你在Python脚本中执行外部命令。以下是一个简单的例子:
from flask import Flask
import subprocess
app = Flask(__name__)
@app.route('/run_command')
def run_command():
try:
# 这里以运行'ls'命令为例,你可以替换成任何你想运行的终端命令
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
# 检查命令是否成功执行
if result.returncode == 0:
return result.stdout
else:
return f"Error: {result.stderr}", 500
except Exception as e:
return str(e), 500
if __name__ == '__main__':
app.run()
在这个例子中,我们创建了一个简单的Flask应用,当访问/run_command
路由时,它会执行一个终端命令(这里使用了ls -l
作为示例)。subprocess.run()
函数用于执行命令,capture_output=True
选项用来捕获命令的输出,text=True
表示输出将以文本形式返回。
优势:
类型:
应用场景:
遇到的问题和解决方法:
请注意,直接在Web应用中执行系统命令应当非常谨慎,因为这可能会被利用来执行恶意操作。务必确保实施适当的安全措施。
领取专属 10元无门槛券
手把手带您无忧上云