python - 在 Linux 中达到一定大小时停止 Python 脚本写入文件

标签 python linux twitter

对 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

关于python - 在 Linux 中达到一定大小时停止 Python 脚本写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27430555/

相关文章:

python - 使用变量作为参数

python - Pygame打开窗口并立即崩溃

mysql - 类似Twitter的数据库表结构

objective-c - 确定哪个IOS正在设备上运行

java - Twitter4j 中的多个用户流?

python - 安装 pylinkgrammar 时缺少文件

python - 在python中创建一个跨特定范围集的for循环函数

c - 开发与内核通信的应用程序

linux - 如何修改linux内核以在启动时挂载vhd文件并从中加载系统?

linux - Cron 不从/root 运行