Ответ 1
Ключевым здесь является атрибут name
объекта f
, представляющий открытый файл. Вы получите следующее:
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'
Помогает ли это?
Если у меня есть открытый файл, существует ли вызов os
для получения полного пути в виде строки?
f = open('/Users/Desktop/febROSTER2012.xls')
Из f
, как бы я получил "/Users/Desktop/febROSTER2012.xls"
?
Ключевым здесь является атрибут name
объекта f
, представляющий открытый файл. Вы получите следующее:
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'
Помогает ли это?
У меня была такая же проблема. Если вы используете относительный путь, то os.path.dirname(path) возвращает только относительный путь. os.path.realpath выполняет трюк:
>>> import os
>>> f = open('file.txt')
>>> os.path.realpath(f.name)
И если вы просто хотите получить имя каталога и не хотите, чтобы имя файла появилось с ним, вы можете сделать это следующим образом, используя os
модуль Python.
>>> import os
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> os.path.dirname(f.name)
>>> '/Users/Desktop/'
Таким образом вы можете получить структуру каталогов.