1

我想创建一个文件,在网络浏览器中显示它,然后在浏览器中加载该文件后立即删除它。

这是我的尝试(我将它用于 SVG 文件,但我使用 txt 文件作为一个简单的示例)。对我来说,除非我插入暂停,否则文件会在加载之前被删除。

    import webbrowser
    import os


    def open_in_browser(file_location):
        """Attempt to open file located at file_location in the default web
        browser."""
        new = 2  # open in a new tab, if possible
        webbrowser.get().open(file_location, new=new)


    tmpfilename1 = os.path.join(os.getcwd(), "test1.txt")
    tmpfilename2 = os.path.join(os.getcwd(), "test2.txt")

    with open(tmpfilename1, 'w') as f:
        f.write("Hello World!")
    open_in_browser(tmpfilename2)
    os.remove(tmpfilename1)

    # If I pause before deleting, everything works fine.
    import time
    with open(tmpfilename2, 'w') as f:
        f.write("Hello again!")
    open_in_browser(tmpfilename2)
    time.sleep(1)  # Pause.
    os.remove(tmpfilename2)

任何人都知道一个不需要暂停的简单修复?谢谢阅读。

4

0 回答 0