避免在停止在Windows命令提示符下运行的Python脚本时丢失数据



我写了一个Python脚本,可以抓取某些网站。我从 windows 命令行运行它,并使用命令行将脚本的"print()"输出定向到 txt 文件中。

喜欢这个:

MyScraper.py>输出我的刮板.txt。

有时我必须在运行完成之前终止/停止脚本(我关闭 windows 命令行)。 10 次中的 9 次对 outputOfMyScraper.txt 文件没有影响,但关闭命令行时会不时删除文件的内容。

除了更改抓取器中的代码以将内容直接写入csv文件并完全避免Windows命令行之外,是否有一种停止脚本而不会丢失数据的方法?

谢谢。

您可以通过添加开关来强制 Python 将标准输出切换到无缓冲模式-u

python -u MyScraper.py > outputOfMyScraper.txt

另一种方法是将PYTHONUNBUFFERED环境变量设置为非空字符串:

set PYTHONUNBUFFERED=1
MyScraper.py > outputOfMyScraper.txt

最新更新