当前位置: 首页 > 面试题库 >

被python文件模式“ w +”所混淆

谢修真
2023-03-14
问题内容

模式“ r +”,“ w +”“ a +”打开文件进行更新(请注意,“ w +”会截断文件)。在区分二进制文件和文本文件的系统上,将“ b”追加到以二进制模式打开文件的模式;在没有此区别的系统上,添加“ b”无效。

与此

w +:打开一个文件进行读写。如果文件存在,则覆盖现有文件。如果该文件不存在,请创建一个新文件以进行读写。

但是,如何读取打开的文件w+


问题答案:

假设你要打开的文件带有with应有的声明。然后,你将执行以下操作以从文件中读取内容:

with open('somefile.txt', 'w+') as f:
    # Note that f has now been truncated to 0 bytes, so you'll only
    # be able to read data that you write after this point
    f.write('somedata\n')
    f.seek(0)  # Important: return to the top of the file before reading, otherwise you'll just read an empty string
    data = f.read() # Returns 'somedata\n'

请注意f.seek(0)-如果你忘记了这一点,则该f.read()调用将尝试从文件末尾读取,并将返回一个空字符串。



 类似资料:
  • 问题内容: 我想替换隐藏文件的内容,因此我尝试以模式打开它,以便将其删除/截断: 但这导致了回溯: 但是,我可以通过模式实现预期的结果: 问:和模式之间有什么区别,一个模式具有“拒绝权限”但另一个模式运行良好? 更新: 我在使用Python 2.6.6的Win7 x64上,并且目标文件具有其隐藏的属性集。当我尝试关闭hidden属性时,模式成功。但是当我重新打开它时,它再次失败。 问: 为什么模式

  • 这可能看起来是一个非常有趣和愚蠢的问题。。 我试着在Android应用程序中使用可运行程序、线程、服务和意向服务来查看后台操作。 所以我创建了一个活动,并在活动中创建了一个简单的线程,比如, 因此,在上述场景中,按钮文本正在发生变化。 没关系,我打电话是这样的: 或 为什么我的按钮文本通过调用start()而改变-何时使用背景线程? 现在是一个非常有趣的场景;如果我延迟2秒,就像这样; 如果调用s

  • 我正在尝试复制混合模式。目前我已经重新创建了一个屏幕混合模式,但它似乎不能很好地工作与透明图像。 我有两种纹理 图1(前景) 图片2(背景) 我得到的结果是 计算机着色器代码 我如何将图像与不同的阿尔法正确地混合在一起?

  • 问题内容: 我注意到,除了记录模式字符,巨蟒2.7.5.1在Windows XP和8.1也接受模式和读取文件时至少。模式用于numpy的。根据以下代码片段,此模式具有删除文件的效果: 是否有人对这些模式有更多了解,特别是它们是否是该语言的永久特性,也适用于Linux系统? 问题答案: 该标志似乎是Windows特定的。窗户似乎几个标志添加到其CRT功能,描述在这里。 虽然Python做过滤模式串,

  • 问题内容: 在内置的蟒蛇开放的功能,是个什么模式之间准确的区别? 特别是,文档暗示所有这些都将允许写入文件,并表示它打开文件专门用于“,但未定义这些术语的含义。 问题答案: 打开模式与标准库功能完全相同。 手册页对它们的定义如下:

  • 本文向大家介绍Python文件打开方式实例详解【a、a+、r+、w+区别】,包括了Python文件打开方式实例详解【a、a+、r+、w+区别】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python文件打开方式。分享给大家供大家参考,具体如下: 第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出。w+可读