2

当然,我了解如何在 Python 中读写文本文件。但是,我需要能够在没有 Windows 的情况下读取文件,认为它在另一个进程中“打开”。这是交易:

我在我的 Raspberry Pi 上运行了一个 Python 脚本,它通过网络从我笔记本电脑上的文本文档中提取一个 3 位数字。我希望能够随时更改此文本文档并将其保存,以便 Python 脚本几乎立即更新。这就是我现在所拥有的。

while True:
    text = open("/mnt/win/text.txt","r")
    rgb = text.read()
    text.close()

    ## ... Do stuff with rgb

    time.sleep(.2)

这很好,因为我基本上有一个(略多于)0.2 秒的循环,其中文件“text.txt”只打开了一小部分。但是,每当我通过记事本修改“text.txt”时,点击保存可能会给我一个错误,提示该文件已在另一个进程中打开。所以这让我想知道;有办法解决吗?我见过类似的事情,有人使用 PHP 脚本读取文件并将其转储到他们的 Python 代码中,但我有点希望将其全部保留为 Python。谢谢!

编辑:顺便说一句,如果不明显,Windows 上包含文本文件的文件夹已安装到 Linux 上的 /mnt/win。

4

1 回答 1

0

不知道为什么我完全没有想到它,但我最终只是制作了我称为 temp.xml 的文件的副本。这不是最干净的方法,但效果很好。

我只是在循环shutil.copyfile("/mnt/win/text.txt","/mnt/win/temp.txt")之前放text = open(...)了,所以原始文本文件似乎几乎没有被程序触及。

这么简单的解决方案,我问起来有点可笑

于 2013-08-29T21:03:23.890 回答