Eu gostaria de obter apenas o caminho da pasta do caminho completo para um arquivo.
Por exemplo, T:\Data\DBDesign\DBDesign_93_v141b.mdb
e eu gostaria de obter apenas T:\Data\DBDesign
(excluindo o \DBDesign_93_v141b.mdb
).
Eu tentei algo assim:
existGDBPath = r'T:\Data\DBDesign\DBDesign_93_v141b.mdb'
wkspFldr = str(existGDBPath.split('\\')[0:-1])
print wkspFldr
mas me deu um resultado como este:
['T:', 'Data', 'DBDesign']
que não é o resultado que eu exijo (ser T:\Data\DBDesign
).
Alguma ideia de como posso obter o caminho para o meu arquivo?
os.sep.join(existGDBPath.split(os.sep)[:-1]
parece mais bonito.COM MÓDULO PATHLIB (RESPOSTA ATUALIZADA)
Deve-se considerar o uso de pathlib para novos desenvolvimentos. Ele está no stdlib para Python3.4, mas disponível no PyPI para versões anteriores. Esta biblioteca fornece um método mais orientado a objetos para manipular caminhos
<opinion>
e é muito mais fácil de ler e programar</opinion>
.COM MÓDULO DE SO
Use o módulo os.path :
Você pode ir em frente e assumir que, se precisar fazer algum tipo de manipulação de nome de arquivo, ele já foi implementado
os.path
. Caso contrário, provavelmente você ainda precisará usar este módulo como o bloco de construção.fonte
Path().parent
o que eu estava procurando!O submódulo integrado os.path tem uma função para essa tarefa.
fonte
Aqui está o código:
fonte
Aqui está meu pequeno ajudante de utilitário para dividir caminhos de arquivo int e tokens de caminho:
fonte
Qualquer pessoa que tentar fazer isso na interface da calculadora do campo ESRI GIS Table pode fazer isso com o analisador Python :
PathToContainingFolder =
de modo a
\ Users \ me \ Desktop \ Nova pasta \ arquivo.txt
torna-se
\ Users \ me \ Desktop \ Nova pasta
fonte