在Ruby中,您可以使用读取文件s = File.read(filename)。我在Python中知道的最短和最清楚的是
with open(filename) as f:
s = f.read()
还有其他方法可以使它更短(最好是一行)并且更具可读性吗?
注意:最初,我将问题表述为“在一行代码中执行此操作”。正如S.Lott所指出的,更短并不一定意味着更具可读性。因此,我改写我的问题只是为了阐明我的意思。我认为Ruby代码更好,更易读,这不一定是因为它是一行还是两行(尽管也很重要),还因为它是一个类方法,而不是实例方法,实例方法对谁关闭文件毫无疑问,如何确保即使引发异常也将其关闭等。如下面的答案所指出的,您可以依靠GC关闭文件(因此使它成为一类文件),但这会使代码更糟虽然更短。不仅因为无法携带,而且使其变得不清楚。