Python相当于Ruby的File.read方法

时间:2011-02-21 00:59:12

标签: python file-io

我正在尝试在单个方法调用中读取文件的内容。

我不想担心打开文件,从文件中读取,然后关闭文件(3个方法调用)。

我只想要内容。

在ruby中,有File.read(“/ path / to / file”),它返回该文件的内容并正确关闭它。 Python中是否有等价物?

3 个答案:

答案 0 :(得分:4)

您可以连接两个指令以获得相同的行为:/。但是文件没有正确关闭。

file = open("/path/to/file","r").read()

编辑: 据我所知,最好的选择让你需要2/3。只需使用with语句,就不必担心关闭所述文件。

with open("/path/to/file","r") as file:
   text = file.read()

答案 1 :(得分:3)

您可以在Python中使用Context Manager,它可以从Python 2.5中获得。

with open('yourfile') as f:
   contents = f.read()

它将自动为您打开和关闭文件。默认模式为'r',代表读数。

答案 2 :(得分:2)

Python中没有此类功能。但是,定义一个很简单。

def read_whole_file(path):
    with open(path) as f:
        return f.read()