我想解析var并设置我解析变量的内容
我想解析C:\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8 and make it into
level7 \ level8`
目前我只能获得level7
var = "C:\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8"
split_path = os.path.split(os.path.split(var)[0])
print split_path
输出
('C:\\level1\\level2\\level3\\level4\\level5\\level6', 'level7')
答案 0 :(得分:0)
你只得到' level7'是因为' level8'在
<?php
echo "Hi from query.php";
?>
这应该清楚地证明:
os.path.split(var)[1]
以下是一行中的全部内容:
var = "C:\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8"
split_path = os.path.split(var)
level8 = split_path[1]
split_path = os.path.split(split_path[0])
level7 = split_path[1]
my_split_path = (split_path[0], os.path.join(level7, level8)
为了清晰起见,我建议使用多行。
就双反斜杠而言,Python字符串文字将第一个反斜杠视为转义字符。因此,有两个实际上有一个用于所有用途。在解释器中my_split_path = (os.path.split(os.path.split(var)[0])[0], os.path.split(os.path.join(os.path.split(var)[0][1], os.path.split(var)[1])))
将输出上面的字符串,但var
将打印单个反斜杠。此问题已在此处详细解答:Power Query Looping
答案 1 :(得分:-1)
>>> var = "C:\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8"
>>> var.split('\\', 7)
['C:', 'level1', 'level2', 'level3', 'level4', 'level5', 'level6', 'level7\\level8']
>>> var.split('\\', 7)[-1]
'level7\\level8'
我的代码输出与您相同。这可能是因为我在OSX上并且没有被识别为文件路径。无论如何,这个解决方案有点简单,并为您提供所需的位。
第二个参数告诉split从左边开始分割计数的最大次数,所以:
>>> var.split('\\', 1)
['C:', 'level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8']
>>> var.split('\\', 2)
['C:', 'level1', 'level2\\level3\\level4\\level5\\level6\\level7\\level8']
# and so on...
你不需要做任何事情来移除额外的'\'
,它可以逃脱你想要的那个。{1}}。您可以使用print()
:
>>> print(var.split('\\', 7)[-1])
level7\level8