首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Python中刷新文件内容意味着什么?

在Python中刷新文件内容意味着什么?
EN

Stack Overflow用户
提问于 2012-05-11 03:46:51
回答 2查看 4.8K关注 0票数 4

我正在尝试通过阅读文档来自学Python。我正在尝试理解刷新文件缓冲区意味着什么。根据文档,"file.flush“执行以下操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Flush the internal buffer, like stdio‘s fflush().
This may be a no-op on some file-like objects.

我不知道“内部缓冲区”和“无操作”是什么意思,但我认为它说明flush将数据从某个缓冲区写入文件。

因此,我运行此文件切换中间行中的井号。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with open("myFile.txt", "w+") as file:
    file.write("foo")
    file.write("bar")
    # file.flush()
    file.write("baz")
    file.write("quux")

但是,在调用和不调用file.flush()的情况下,我似乎得到了相同的myFile.txtfile.flush()有什么作用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-11 03:57:02

Python缓冲对文件的写入。也就是说,file.write会在数据实际写入硬盘之前返回。这样做的主要动机是,一些大型写入比许多小型写入要快得多,因此通过保存file.write的输出,直到积累了一点,Python可以保持良好的写入速度。

file.flush会强制在此时将数据写出。当您知道可能需要一段时间才能写出更多数据,但又希望其他进程能够查看您已经写入的数据时,就可以使用这种方法。想象一下一个增长缓慢的日志文件。您不希望在建立足够多的条目之前必须等待很长时间才能将数据写出为一个大块。

在任何一种情况下,file.close都会导致剩余数据被刷新,因此一旦file (这是一个非常糟糕的名称,因为它隐藏在内置的file构造函数中)落在with上下文管理器的范围之外并被关闭,代码中的"quux“就会被写出来。

注意:你的操作系统会做一些自己的缓冲,但我相信每一个运行Python的操作系统都会响应file.flush的请求,把数据写到驱动器上。如果我说错了,请有人纠正我。

顺便说一句,"no-op“意味着"no operation",因为它实际上不会做任何事情。例如,StringIO对象操作内存中的字符串,而不是硬盘上的文件。StringIO.flush可能会立即返回,因为它实际上没有什么可做的。

票数 11
EN

Stack Overflow用户

发布于 2012-05-11 03:52:21

可以缓存缓冲区内容以提高性能。刷新可确保内容完全写入磁盘,从而避免数据丢失。例如,当您希望在下一次文件操作发生之前将请求用户输入的行完全打印在屏幕上时,它也很有用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10545167

复制
相关文章
ruby on rails使用笔记
如果升级过程中说xcode版本太低 还得先升级xcode 重启电脑后继续升级ruby 升级完系统依然报错说xcode版本太低可以使用以下命令切换xcode版本
lilugirl
2019/05/28
1.1K0
使用rails实现最简单的CRUD
这里定义了路由hello/index,并且使用root方法将首页修改为了hello控制器下的index方法,也就是两路由的控制器一致。
用户1515472
2019/07/24
3.2K0
使用spring提高rails开发效率
###声明 目前spring只支持MRI 1.9.3, MRI 2.0.0, Rails 3.2,没有达到要求的人赶紧升级你们的ruby,rails版本吧 ###问题 想必采用TDD/BDD方式进行开发的rails开发者都有着这样类似的经历: pair写了一个测试 运行测试 等待 该我来编写产品代码 运行测试 等待 代码有bug 测试失败 修复测试 运行测试 等待 测试通过,yeah! 再回过头来想想,我享受这段pair的过程吗? pair很给力,很快就把一个taks实现成一个测试用例 桌子上的水果也很好吃
ThoughtWorks
2018/04/18
3.5K1
28.多表查询——跨关联关系的多表查询
Django 提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。 若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:
全栈程序员站长
2022/09/04
1K0
Debian 8 使用 Apache 部署 Ruby on Rails
Ruby on Rails 是一个快速开发的Web框架,Web设计人员和开发人员利用它能实现动态的全功能Web应用程序。 本文使用 Phusion Passenger 或mod_rails 方法部署 Rails 应用程序。 Passenger 允许您直接在Apachen应用程序中嵌入 Rails 应用程序,而无需使用FastCGI或复杂的Web服务器代理。
Debian中国
2018/12/20
2.6K0
如何使用Passenger和Nginx部署Rails
如果您是Ruby on Rails开发人员,可能需要Web服务器来托管您的Web应用程序。本教程将向您展示如何使用Phusion Passenger。作为Rails的Web服务器,Passenger易于安装,配置和维护,可与Nginx或Apache一起使用。在本教程中,我们将在Ubuntu上安装带有Nginx的Passenger。
乌鸦
2018/08/06
5K0
如何使用Passenger和Nginx部署Rails
rails -help
rails new APP_PATH [选项] //APP_PATH项目名称
不知雨
2018/11/13
2.6K0
依赖关系(“使用”关系)
依赖关系是一种使用关系,如果A类中的某个方法使用了B类对象,那么就可以说A类依赖B类。
全栈程序员站长
2022/09/06
1.1K0
C - Rails
C - Rails C - Rails #include<cstdio> #include<stack> #include<cstring> using namespace std; int a[1010]; int main() { int n; while (~scanf("%d",&n) && n) { while (1) { stack<int> s; scanf("%d",&a[0]); if (!a[0]) { puts(""); brea
杨鹏伟
2020/09/11
6820
Rails资源
Rails Resources Here I list some rails resources I found very helpful. Quick Start Ruby on Rails Guides Rails Bridge Tutorials Point Book The Rails 4 Way, Best rails book. Ruby on Rails Tutorial API Ruby on Rails API Screencast Rails Casts, excellent rai
用户2183996
2018/06/28
8520
【MySQL】多表练习、查询以及多表的关系
实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(product)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系,接下来我们将在单表的基础上,一起学习多表方面的知识。
陶然同学
2023/02/24
2.6K0
【MySQL】多表练习、查询以及多表的关系
ODOO优化层级关系查询效率的方法
本文介绍了ODOO优化层级关系查询效率的方法,通过使用字段来关联上层记录、开启分层搜索功能和添加数值标识来提高查询效率。同时,本文还提供了相关的代码示例和图例,方便读者更好地理解。此外,本文还介绍了使用parent存储特性提高查询效率的方法,通过空间换时间的方式,提高了数据库查询的效率。
企鹅号小编
2017/12/29
2.3K0
ODOO优化层级关系查询效率的方法
Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,仅仅是原来接触的是2,如今已然变成了4,似乎如今的安装比原来会快些。。
全栈程序员站长
2022/07/12
2.5K0
Ruby On Rails 4 hello world,Ruby On Rails上手
并行一度关系查询
[1] TOC: 并行一度关系查询 [2] 并行一度关系查询问题: http://neo4j.com.cn/topic/61663f0703dea95514def0aa
马超的博客
2022/09/02
6510
并行一度关系查询
Rails路由
在创建资源路由时,会同时创建多个可以在控制器中使用的辅助方法,如上面的资源路由会创建以下方法:
用户1515472
2019/07/24
4.5K0
Rails测试:Rspec
One: Case Study Debug sucks, and test rocks! If you use rails, then you should know how to use RSpec to test your rails app. I use a simple case to practice basic RSpec. If you want practice, go to check the saasbook/bdd-tdd-cycle practice at the end of th
用户2183996
2018/06/28
1.1K0
SQL 基础(六)多关系连接查询
连接类型:内连接(INNER JOIN)、外连接(OUTER JOIN)、交叉连接()、自然连接()
攻城狮杰森
2022/06/03
1.2K0
SQL 基础(六)多关系连接查询
Rails 部署总结
学 Ruby 和 Rails 有一段时间了,后面准备也准备把站点换了。不过开始开发之前,我先把 Rails 部署的坑先踩了。之所以部署先行是因为之前 Django 部署把我坑惨了,导致之前写的 Django 代码还是 Github 静静地躺着。 忽悠妹子给我在腾讯云买了服务器后,马不停蹄的就开始了填坑之旅。这里我选择的系统是 Ubuntu 16.04 ,所以下面的命令以此为准。
BigNerdCoding
2018/03/20
7K4
Rails 部署总结
使用rvm在Mac中安装ruby和rails
MacOS默认安装的是ruby 1.8.7,如果你想使用ruby 1.9.2的话,除了在官网下载源码编译安装外,可以使用rvm来协助安装。
EltonZheng
2021/01/22
3.2K0
在Debian 9上使用Apache安装Ruby on Rails
Ruby on Rails是一个服务器端Web应用程序框架。它维护了一组策划组件和“约定优于配置”的理念,使得我们可以快速开发应用程序而无需大量样板。本指南将向您展示如何使用Phusion Passenger在您的Linode上部署Rails应用程序。Passenger允许您直接在Apache应用程序中嵌入Rails应用程序,而无需担心FastCGI或复杂的Web服务器代理。
GIStudy
2018/08/28
5.8K0

相似问题

查询Rails中关系的关系

12

使用活动记录的rails关系查询

10

Rails:使用关系或直接使用#where查询

25

要查询的复杂rails关系

11

带有嵌套关系的Rails查询

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文