打开yaml文件阅读
寻找存储在其中的路径
将始终位于文件的第二行,格式为
Location: !!python/unicode '[PATH here]'
对不起,如果这是基本的(我确定是),但是获取路径位置的最简单方法是什么?
答案 0 :(得分:1)
最快的方法是将其子串:
line[28:-1]
但这只有在您完全确定该线条将采用该格式时才有效 - 在空白等方面没有差异。当然,您必须确保自己的线路正确;如果第2行是注释而第3行是实线,并且您尝试使用此解析注释,您将获得注释的正确部分并认为它是路径。
更强大,更灵活的解决方案可能是使用正则表达式:
re.match(r".* '(.*)'", line).group(1)
或:
re.match(r"Location:\s!!python/unicode\s'(.*)'", q).group(1)
...等。您想要使用的具体取决于您想要允许的变体,以及您想要防范的内容。
但实际上,如果你想解析YAML,为什么不使用YAML解析器?
答案 1 :(得分:0)
另一种方式,只有当你知道路径将是该行的第三个元素时才会起作用:
line.split()[2]
或者如果你知道它将是该行的最后一个元素:
line.split()[-1]