您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

被python文件模式“ 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中的所有文件模式

以下是打开文件的不同模式的列表: [R 打开一个文件以供只读。文件指针位于文件的开头。这是认模式。

rb 打开文件以仅以二进制格式读取。文件指针位于文件的开头。这是认模式。

r + 打开一个文件进行读取和写入。文件指针将位于文件的开头。

rb + 打开一个文件,以二进制格式读取和写入。文件指针将位于文件的开头。

w 打开仅用于写入的文件。如果文件存在,则覆盖该文件。如果该文件不存在,请创建一个文件进行写入。

b 打开一个文件,仅以二进制格式写入。如果文件存在,则覆盖该文件。如果该文件不存在,请创建一个文件进行写入。

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

wb + 打开一个文件,以二进制格式进行读写。如果文件存在,则覆盖现有文件。如果该文件不存在,请创建一个文件以进行读写。

一种 打开一个文件进行追加。如果文件存在,则文件指针位于文件的末尾。也就是说,文件处于附加模式。如果该文件不存在,它将创建一个文件进行写入。

b 打开一个文件以二进制格式追加。如果文件存在,则文件指针位于文件的末尾。也就是说,文件处于附加模式。如果该文件不存在,它将创建一个文件进行写入。

a + 打开文件以进行追加和读取。如果文件存在,则文件指针位于文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建一个用于读取和写入的新文件

ab + 打开一个文件,以便以二进制格式追加和读取。如果文件存在,则文件指针位于文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建一个用于读取和写入的新文件

python 2022/1/1 18:16:46 有524人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶