在 Python 中从打开的文件中获取路径

如果我有一个打开的文件,是否有一个 os调用,以获得完整的路径作为一个字符串?

f = open('/Users/Desktop/febROSTER2012.xls')

f,我如何得到 "/Users/Desktop/febROSTER2012.xls"

141685 次浏览

这里的关键是表示打开的文件的 f对象的 name属性:

>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'

有帮助吗?

如果您只想获得目录名,而不需要随之而来的文件名,那么您可以使用 os Python 模块以下面的常规方法来实现。

>>> import os
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> os.path.dirname(f.name)
>>> '/Users/Desktop/'

通过这种方式,您可以获得目录结构。

我也有同样的问题。如果您使用的是相对路径 os.path.dirname (path)将只返回相对路径。OS Path Realpath的作用是:

>>> import os
>>> f = open('file.txt')
>>> os.path.realpath(f.name)

你也可以这样做。

filepath = os.path.abspath(f.name)