在Ruby中,您可以使用读取文件s = File.read(filename)
。我在Python中知道的最短和最清楚的是
with open(filename) as f:
s = f.read()
还有其他方法可以使它更短(最好是一行)并且更具可读性吗?
注意:最初,我将问题表述为“在一行代码中执行此操作”。正如S.Lott所指出的,更短并不一定意味着更具可读性。因此,我改写我的问题只是为了阐明我的意思。我认为Ruby代码更好,更易读,这不一定是因为它是一行还是两行(尽管也很重要),还因为它是一个类方法,而不是实例方法,实例方法对谁关闭文件毫无疑问,如何确保即使引发异常也将其关闭等。如下面的答案所示,您可以依靠GC来关闭文件(从而使文件成为单一文件),但这会使代码变得更糟虽然更短。不仅因为无法携带,而且使其变得不清楚。
如果您愿意使用库,请尝试安装forkd-path(使用easy_install或pip)。
然后,您可以执行以下操作:
from path import path
s = path(filename).bytes()
这个库是一个相当新的库,但是它是一个已经在Python周围浮动了很多年并且已经使用了很多的库的分支。自从几年前我找到这个库以来,我很少使用os.path
或open()
更多。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句