首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python语言中,为什么'r+‘而不是'rw’用来表示“读写”?

在Python语言中,为什么'r+‘而不是'rw’用来表示“读写”?
EN

Stack Overflow用户
提问于 2015-01-23 08:13:21
回答 3查看 10.1K关注 0票数 21

在Python语言中,当打开一个文件时,我们使用'r'来表示只读和'w'只写。然后我们使用'r+'来表示“读写”。

为什么不使用'rw''rw'看起来不比'r+'更自然吗?

1月25日编辑:

哦..。我想我的问题看起来有点迷惑..我想问的是:'r'是“read”的第一个字母,'w'是“write”的第一个字母,所以'r''w'看起来很自然地映射到“read”和“write”。然而,当涉及到“读写”时,Python使用“r+”而不是'rw'

因此,问题实际上是关于命名的基本原理,而不是它们之间的行为差异。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-23 08:16:19

Python复制了C's fopen() call中的模式。C使用的是r+,而Python则沿用了40年的传统。

票数 36
EN

Stack Overflow用户

发布于 2015-01-23 08:23:02

不要把它当作纯粹的英语,r+的意思是read extended实际上,Python!=English.所有的语言都有基本的规则,@John Kugelman提到,Python坚持使用旧的。

票数 0
EN

Stack Overflow用户

发布于 2015-01-23 08:17:57

这就是发生的事情:

    >>> f1 = open("blabla.txt", 'rw');
    Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> f1=open("blabla.txt",'rw')
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    f1=open("blabla.text",'rw')
ValueError: must have exactly one of create/read/write/append mode

这就是核心python中读/写/追加函数的配置方式。有些人会说这与旧的c风格的fopen()指令'r‘'w’'r+‘等等有关。

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

https://stackoverflow.com/questions/28100993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档