open()函数中包含'r'的目的是什么?

2024-05-15 09:19:42 发布

您现在位置:Python中文网/ 问答频道 /正文

有什么区别:

with open('PHANTOM_PAIN_SPOILERS.txt') as temp:
    print(temp.read())

…以及:

^{pr2}$

据我所知,open()的第二个参数'r'实际上是告诉系统在打开文件后读取它,这在我看来应该使.read()冗余,但如果我在第二个示例中尝试打印temp print(temp),那么我得到的结果类似于:<_io.TextIOWrapper name='PHANTOM_PAIN_SPOILERS.txt' mode='r' encoding='cp1252'>

那么,如果在这些情况下指定“r”似乎没有任何作用,那么首先指定“r”有什么意义呢?在


Tags: 文件txtread参数系统aswithopen
2条回答

这里有三种不同的东西:

  1. 打开文件的模式
  2. 对文件执行的操作
  3. 通过默认参数发送的隐式参数

你的陈述:

To my understanding, the second argument 'r' for the open() is essentially telling the system to read the file after opening it

不是很正确。'r'表示希望以读取模式打开文件;它本身不读取任何内容。顺便说一下,您也可以读取以其他模式打开的文件。在

{{{cd2>得到一个与默认值相同的字符串。在

打开和读取文件是不同的操作。在

打开一个文件是作为读取或写入文件的第一步。默认情况下,open()调用以读取模式访问文件。将'r'指定为第二个参数就是显式地执行相同的操作。(指定'w'以写入模式打开文件。)

一旦文件被打开,就可以在一个大的块中读取(比如代码),一次读取一行,一次读取一个字节,或者使用不同的读取操作执行更复杂的模式。在

相关问题 更多 >