How to Passively Read Text File [Python]
当然,我理解如何用Python读写文本文件。但是,我需要能够读取一个文件而不需要Windows考虑它在另一个进程中"打开"。交易如下:
我在我的Raspberry PI上运行了一个python脚本,它通过网络从我笔记本电脑上的文本文档中提取一个3位数的数字。我希望能够随时更改这个文本文档并保存它,这样Python脚本几乎可以立即更新。这是我现在的基本情况。
1 2 3 4 5 6 7 8 | while True: text = open("/mnt/win/text.txt","r") rgb = text.read() text.close() ## ... Do stuff with rgb time.sleep(.2) |
这样做很好,因为我基本上有一个(略大于).2秒的循环,其中文件"text.txt"只打开了相当小的一部分。但是,每当我通过记事本修改"text.txt"时,点击"保存"会给我一个错误,说明文件已经在另一个进程中打开。所以我很想知道,有什么方法可以绕过它吗?我看到过类似的情况,在这种情况下,这个人使用一个PHP脚本来读取文件并将其转储到他们的Python代码中,但我有点希望保留所有的Python。谢谢!
编辑:顺便说一句,如果不明显的话,在Windows上包含文本文件的文件夹被安装到Linux上的/mnt/win。
不知道为什么我完全没有想到它,但我最终只制作了一份我称之为临时文件的副本。这不是最干净的方法,但效果很好。
在循环过程中,我只是把
这么简单的解决方案,我问起来有点可笑