我一直在使用python来编写我想出的有趣的小项目代码,而我最近一直在研究的是模拟房子。例如,我创建了一个房子的数据结构,它有三个相互连接的房间,然后我有一个Person对象,可以根据它们的连接方式在房间内移动。这就是它现在所做的一切,而目前为止看到模拟进展的唯一方法是通过我调用的文件" output.txt"程序在每次模拟迭代时打印其状态。该文件列出了房屋中的房间,它们的连接方式以及当前每个房间的人员。这是一个示例输出:
Room: Kitchen
Connections: Living Room, Dining Room
Actors in Room:
Bob, Sue
Room: Living Room
Connections: Kitchen
Actors in Room:
Joe
Room: Dining Room
Connections: Kitchen
Actors in Room:
我在不久前建立的服务器上写了这一切,所以最终我可以让它运行,看看会发生什么,现在我已经设置好了,所以我可以去一个链接看到文件的内容。我想这样做,所以我可以刷新页面来查看更改,而不是每次我想看到更改时都要打开文件。问题是,有时我认为程序在写入output.txt之间,所以当我刷新页面时没有任何显示。
我想知道是否有某种方法可以使网页只显示程序的输出,甚至无需刷新。以下是我在python程序中写入output.txt文件的方法:
while(True):
home.tick()
output = open("/var/www/html/output.txt", "w")
output.write(str(home))
output.close()
home.tick()语句基本上遍历了房子里的所有人,并告诉他们通过他们的蜱虫方法,这在这一点上只是让他们在房子里徘徊。然后显示output.txt我有一个带
的html文件 <h1>House Simulation</h1>
<pre id="simulationContents"></pre>
<script>
function populatePre(path) {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
document.getElementById('simulationContents').textContent = this.responseText;
};
xhr.open('GET', path);
xhr.send();
}
populatePre('output.txt');
</script>
正如我所说的那样,有时可以工作,但有时我认为python在刷新时仍在页面上工作,所以它什么都没有显示。
我是html和javascript的新手,所以任何帮助都会受到赞赏。这对我来说也只是一个有趣的项目,所以如果有更好的方法让输出转到除html和javascript之外的网页,我绝对愿意接受它。提前谢谢!