2024-06-15 03:24:26 发布
网友
我想拆分“C:\My Work\Tester Related\A\u B\u C.txt” 在Python的[C:\,我的工作,测试人员相关的,A,B,C,txt]中。在
我刚开始学Python。我确实进口了操作系统路径模块,和玩 交互提示中的一些函数,但无法获得所需的结果。 谢谢你的帮助。我能利用os.path.basename获取文件,但无法基于给定的分隔符''uu'将文件拆分为组件。在
一条丑陋的两条线!在
import itertools txt = r"C:\\My Work\\Tester Related\\A_B_C.txt" result = list(itertools.chain(*map(lambda x: x.split('_'), txt.split(os.path.sep)))) result = result[:-1] + list(os.path.splitext(result[-1]))
更好的方法是使用re,就像@paedrickunningham在他的回答中所做的那样。在
re
s = "C:\\My Work\\Tester Related\\A_B_C.txt" import re print (re.split(r"\\|\.|\_",s)) ['C:', 'My Work', 'Tester Related', 'A', 'B', 'C', 'txt']
original_path = "C:\My Work\Tester Related\A_B_C.txt" # Must quote the backslash in this case. split_path = original_path.split("\\") # At this point, split_path looks like: # ['C:', 'My Work', 'Tester Related', 'A_B_C.txt'] split_filename = split_path[-1].split("_") # split_filename is ['A', 'B', 'C.txt'] split_ext = split_filename[:-1].split(".") # split_ext is ['C', 'txt'] split_filename = split_filename[:-1] + split_ext # split_filename is ['A', 'B', 'C', 'txt'] split_path = split_path[:-1] + split_filename # ['C:', 'My Work', 'Tester Related', 'A', 'B', 'C', 'txt']
虽然有点老套,但还是行得通的。在
一条丑陋的两条线!在
更好的方法是使用
^{pr2}$re
,就像@paedrickunningham在他的回答中所做的那样。在虽然有点老套,但还是行得通的。在
相关问题 更多 >
编程相关推荐