# 使用Python内置的subprocess模块来执行Python脚本
# 使用注意:
# 1,依赖包需要提前导入至脚本中
# 2,script_path变量是脚本得绝对路径
# 3,filename变量是脚本得名称
# 搭配vue页面使用
# 想法:页面支持导入,编辑,执行脚本
# 导入:默认指定路径下,需要填写脚本文件得名称
# 编辑:编辑完成后,点击保存,覆盖原有文件
# 保存:将脚本得名称,绝对路径保存至数据库,保存完成后,执行按钮高亮
# 执行:点击执行,调用后端api运行接口,页面需要传输(绝对路径 + 脚本名称),结果返回页面
# 批量执行:生成list集合(脚本id)(数据库查询所得),点击执行按照list索引顺序依次执行
# 数据库字段:
# id:自增
# script_name:脚本名称
# script_path:脚本绝对路径
# result: 最新运行结果
# create_time: 创建时间
# updata_time: 更新时间
import subprocess
def execute_python_script(script_path: str, filename: str):
# 执行Python脚本
result = subprocess.run(['python', script_path + filename], stdout=subprocess.PIPE)
# 处理输出结果
output = result.stdout.decode('utf-8')
print(output)
# 调用方法
# script_path为脚本路径,filename为脚本名称
execute_python_script(
script_path=r'G:\pycharmDl\job\marketingscriptcase\练习执行python脚本'+'\\',
filename='script_py.py')
# 结果
('我的年龄是32', '{"age": 32}')
脚本
import json
class Name:
def __init__(self, age):
self.age = age
def ages(self):
my = {'age': self.age}
return '我的年龄是' + str(self.age), json.dumps(my)
if __name__ == '__main__':
print(Name(32).ages())
标签:脚本,__,vue,script,python,age,path
From: https://www.cnblogs.com/wyj497022944/p/17955968