2016-03-04 2 views
0

У меня вопрос об удалении подчеркивания из пути.как разобрать подчеркивание с пути в python

Вот пример ниже:

C:\\Users\\Me\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8\\test_one.txt 

Как удалить подчеркивание и двигаться вверх уровень?

мне нужен выход стать:

C:\\Users\\Me\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\testone.txt 

меня это до сих пор

var = "C:\\Users\\Me\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8\\test_one.txt" 

split_path = os.path.split(os.path.split(var)[0]) 

print split_path 

выход ниже:

('C:\\level1\\level2\\level3\\level4\\level5\\level7\\level8', 'test_one.txt') 
+1

"разобрать" или "удалить"? Две разные вещи. Похоже, вы имеете в виду «удалить подчеркивание». Это верно? – Andy

+0

Я хочу удалить правильно – Testerflorida

+0

Используйте 'dirname' для удаления уровня из каталога. Используйте 'str.replace', чтобы заменить подчеркивание пустой строкой. –

ответ

4

Вы правы использовать os.path.split, и вы тоже хочется os.path.dirname. Как насчет:

var = "C:\\Users\\Me\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8\\test_one.txt" 
base_path, filename = os.path.split(var) 
# Sort the underscore out 
new_filename = filename.replace('_', '') 
# Go one level up from base_path 
new_base_path = os.path.dirname(base_path) 

output = os.path.join(new_base_path, new_filename) 
print(output) 
1
import os.path 

path = "C:\\Users\\Me\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8\\test_one.txt" 

new_parent = os.path.split(os.path.split(path)[0])[0] 
new_child = os.path.split(path)[1].replace('_', '') 
new_path = os.path.join(new_parent, new_child) 

print new_path 
Смежные вопросы