如何从python中的路径解析下划线

时间:2016-03-04 15:12:46

标签: 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')

2 个答案:

答案 0 :(得分: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 :(得分: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