我有一些简单的python代码,可在文件中搜索字符串,例如path=c:\path,其中c:\path部分可能会有所不同。当前代码是:def find_path(i_file): lines = open(i_file).readlines() for line in lines: if line.startswith("Path="): return # what to do here in order to get line content after "Path=" ?取得文字的简单方法是什么Path=?python 字符串
3 回答

蝴蝶不菲
TA贡献1810条经验 获得超4个赞
如果字符串是固定的,则可以简单地使用:
if line.startswith("Path="):
return line[5:]
它将为您提供字符串中从位置5开始的所有内容(字符串也是一个序列,因此这些序列运算符也可以在此处使用)。
或者,您可以先分割行=:
if "=" in line:
param, value = line.split("=",1)
然后,param是“ Path”,值是第一个=之后的其余值。

牛魔王的故事
TA贡献1830条经验 获得超3个赞
一般来说,对于切片(有条件的或无条件的),我更喜欢同事最近提出的建议;使用带有空字符串的替换。易于阅读代码,减少代码(有时),减少指定错误字符数的风险。好; 我不使用Python,但是在其他语言中,我更喜欢这种方法:
rightmost = full_path.replace('Path=', '', 1)
或-跟进该帖子的第一条评论--仅当行开头为时才应这样做Path:
rightmost = re.compile('^Path=').sub('', full_path)
与上面建议的一些建议的主要区别在于,不涉及“幻数”(5),也不需要同时指定“ 5” 和字符串“ Path=”,换句话说,我更喜欢代码维护中的这种方法。观点看法。
添加回答
举报
0/150
提交
取消