我有一个关于从路径中删除下划线的问题。
以下是以下示例:
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')
答案 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