javascript - 如何在加载时在asp.net中执行python脚本
问题描述
我有一个 python 代码可以抓取网页进行货币转换。我以前为我的 php 项目做过这个,然后再次重用它。但不知道如何处理asp.net ..如果javascript代码有任何错误,请帮忙,或者是否有另一种方法可以直接从asp.net执行python .py文件
我之前通过使用 javascript 执行 python shell 来做到这一点。并且此功能一直在 html body 标签主页上加载。但是相同的代码不适用于 aspnet。我在 javascript 上保持控制台日志并执行它。但没有执行进一步的任务,也没有在控制台上显示任何错误。如果javascript代码有任何错误,请帮忙,或者是否有另一种方法可以直接从asp.net执行python .py文件
这是我的 rategenerator.py
import pandas as pd
import csv
calls_df = pd.read_html("https://www.nepalbank.com.np/exchange-rate")
calls_df[0].to_csv('rates.csv', index=False)
这是我的 loadFile.js,带有函数 loadExternalfile(),在 html body 标签上的 onLoad()
function loadExternalfile() {
console.log("testing this");
return
var shell = new ActiveXObject("WScript.Shell");
shell.run("python rategenerator.py");
return
$.ajax({
type: 'get',
url: 'rategenerator.py',
cache: false,
async: 'asynchronous',
dataType: 'json',
success: function (data) {
console.log(JSON.stringify(data))
},
error: function (request, status, error) {
console.log("Error: " + error)
}
});
return
$.ajax({
url: "../../rategenerator.py",
context: document.body
}).done(function () {
alert('finished python script');;
});
return
var pathToFIle = "../../rategenerator.py"
var make_shell_ready = escapeShellcmd(pathToFIle);
return shell_exec(make_shell_ready);
}
它在我之前的 php 项目中运行良好。javascript 已加载 onload,它执行 rategenerator.py,生成“rates.csv”文件。在这种情况下,我也需要完全相同。但在 asp 中,js 已加载,console.log 显示输出。但没有生成 csv 文件。我不知道是否执行了 python 文件。
解决方案
如果你已经有一个 python 脚本,那么你可以创建一个包含 python filepath/filename.py 的 bat 文件,然后使用 Process.Start("path to bat file") 在后端执行它;
推荐阅读
- python - FiPy 中的固定通量边界条件
- java - 多态性和继承关系
- android - 移动可观察项目时如何禁用recyclerview滚动
- spring - 具有密码授予类型的 WebClient 的 Spring Security OAuth 客户端不要求新令牌
- neural-network - 梯度下降中的 Sigmoid 导数
- jenkins - 通过 Jenkins 在 Docker 映像上运行的赛普拉斯在第一次测试中挂起
- sshj - 如何在 Java 中进行 SFTP(禁用 SSH 时)
- java - Java 时区到毫秒
- c++ - 有没有办法禁止在继承类中声明对象成员?
- sql-server - 无法使用学生入门帐户在 Azure 中创建数据库资源