抓取文件将在 python 中立即可用

Scrape file to be immediately available in python

我正在使用 beautifulsoup 从一些网站上抓取 .csv 文件。然后我想在同一个脚本中立即使用它们并将它们存储起来以备后用。目前,当我抓取并保存文件时,脚本无法立即使用它,并且在尝试将 csv 作为数据框加载时返回 NoneType 错误。 我尝试使用

file_to_save.flush()

os.fsync(file_to_save.fileno())

无济于事。我也尝试过在打开文件 file_to_save = open(path + filename, 'wb', 0) 时不使用缓冲区,但仍然无法正常工作。

我的代码如下(res 是请求的 response.read()):

file_to_save = open(path + filename, 'wb', 0)
file_to_save.write(res)
file_to_save.flush()
os.fsync(file_to_save.fileno())
file_to_save.close()

当我重新运行 脚本时,它在保存文件时工作,并且可以在单独的函数中加载到 df 中。关于如何使文件立即可用有什么想法吗?

我找不到满意的解决办法,以上建议均无效。

我解决这个问题的方法是将抓取的文件作为 pandas 数据帧打开,并通过 webapp 中其他地方使用的函数返回这个数据帧。该文件仍被保存并可供下次使用。