在Linux中达到一定大小后,停止将Python脚本写入文件

Python和Linux有所新.我创建了一个脚本,用于挖掘Twitter的流API.当流中的内容与我的参数匹配时,脚本将写入.csv文件.我想知道一旦文件达到1 gig,是否有任何方法可以停止我的脚本.我知道cron可以用来计时脚本和所有内...

Python和Linux有所新.我创建了一个脚本,用于挖掘Twitter的流API.当流中的内容与我的参数匹配时,脚本将写入.csv文件.

我想知道一旦文件达到1 gig,是否有任何方法可以停止我的脚本.我知道cron可以用来计时脚本和所有内容,但是我更关心文件的大小而不是时间.

感谢您的投入和考虑.

解决方法:

在您的情况下,您可能不需要os.stat,并且在某些情况下os.stat可能会为您提供错误的大小(即缓冲区不刷新).为什么不只使用f.tell()来读取大小,就像这样

with open('out.txt', 'w', encoding='utf-8') as f:
    csvfile = csv.writer(f)
    maxsize = 1024                # max file size in bytes
    for row in data():
        csvfile.writerow(row)
        if f.tell() > maxsize:    # f.tell() gives byte offset, no need to worry about multiwide chars
            break

本文标题为:在Linux中达到一定大小后,停止将Python脚本写入文件

基础教程推荐