gpt4 book ai didi

javascript - 在javascript中从txt文件中读取值

转载 作者:行者123 更新时间:2023-11-30 08:49:52 24 4
gpt4 key购买 nike

我有一个简单的 html 文件,其中有引用谷歌图表的 javascript 代码。

我使用的代码是这样的(我会展示重要的部分):

function drawChart(){
var data = google.visualization
.arrayToDataTable([ ['Label', 'Value'],['Temp', 22.75],]);

// etc...
}

我使用 bash 命令 (sed) 将 22.75 值替换为 .txt 文件最后一行中的新值。但是,这会引发一些错误,我既无法更正也无法识别这些错误。

那么是否有任何 javascript 代码可以获取该文件、提取最后一个值并将其简单地显示在代码的正确位置?

更新:

很抱歉这个问题缺少信息,我非常感谢所有花时间阅读我的问题的人。我会在接下来的几分钟内尝试填写更多信息。

我能够提取 .txt 文件的最后一行,提取“-”符号右侧的值并将其存储在变量中。然后使用 sed 命令使用该值更新 html 文件。当值已更新但没有值时会出现错误。我猜这是由于 txt 文件中的温度记录失败导致的,然后提取的值为空。最后是带有javascrit代码的html字段恰好是这样的:

(...)['温度', ],]);

然后更新程序无法更新该值,因为由于 sed 命令的编写方式,我猜它无法检测到其中的无数字值。所以 html 一直没有值。

TXT文件结构:

(...)
20:25:03-23.312
20:26:02-23.312
20:27:03-23.375
20:28:03-23.375
20:29:02-23.375
20:30:02-23.312

重击脚本:

# (...code...)
lastRecord=`cat /home/pi/scripts/temp_control/logs/"$today".log | awk 'END{print}'`

function rightNow {
lastTemp=`echo $lastRecord | cut -d'-' -f2`

timeOfTemp=`echo $lastRecord | cut -d'-' -f1` # Not used yet

#Command used to update
sed -i "s/['Temp', [0-9]\{1,2\}.[0-9]\{1,3\}]/$lastTemp]/" /var/www/rightnow.html
}

rightNow

最佳答案

您可以像任何其他 ajax 请求一样获取您的文件。

使用javascript

var request = new XMLHttpRequest();
request.open('GET', 'public_path_to_file.txt', false);
request.send();

var textFileContent = request.responseText

使用 jQuery

var textFileContent;
$.get('public_path_to_file.txt', function(data) {
textFileContent = data;
});

剩下的就是从textFileContent中获取右边的部分。根据文件的结构,我们可以用不同的方式做到这一点。如果没有示例文件,您只能靠自己,但这里有一些示例。

如果你需要最后一行

var lines = textFileContent.split("\n");
var lastLine = lines[lines.length - 1];

如果你需要使用正则表达式

var regex = //* some regex to get your content*//gm;
var result = regex.exec(textFileContent);
// result should now the content who matches your regex

关于javascript - 在javascript中从txt文件中读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18807288/

24 4 0
文章推荐: javascript - 按值传递的函数参数
文章推荐: javascript - 两个文件使用带有 mocha 的 supertest 导致 EADDRINUSE
文章推荐: javascript - 尝试使用 setInterval 每秒更改一个 div 的背景颜色。查询
文章推荐: javascript 获取