我目前正在使用python linecache模块从给定的文本文档中获取特定行,并使用所述行创建一个新文件。例如,部分代码如下所示:
cs = linecache.getline('variables.txt', 7)
cs_1 = open("lo_cs", "w")
cs_1.write(str(cs))
cs_1.close()
问题是在variables.txt中,第7行由:
给出variable7 = 3423
例如。我希望新文件lo_cs只包含实际值' 3423'而不是整行文字。此外,我想插入整个' getline'命令进入if循环,这样如果将variable7留空,则采取另一个动作。有没有办法使用linecache检查' variable7 ='之后的空格?看看是否有任何东西进入那里,如果有的话,只抓住那个特定的值或字符串?
我知道(但并非真正理解)bash脚本似乎使用' $'作为插入或调用给定文件的占位符。我想我需要实现类似的东西......
我想在文本文件中有说明,指示值应该在下面的行中指定 - 以避免仅选择一行的段 - 但这允许一个人意外地输入多余的中断,这将搞砸了所有后续的“getline”'命令,就需要选择的行而言。
非常感谢任何正确方向的帮助!
答案 0 :(得分:0)
您可以使用以下方法来包装所需的功能:
def parseline(l):
sp = l.split('=')
return sp[0], int(sp[1]) if len(sp) > 1 else None
或者如果您不需要变量名称:
def parseline(l):
sp = l.split('=')
return int(sp[1]) if len(sp) > 1 and sp[1].strip() != '' else None
然后使用:
csval = parseline(linecache.getline('variables.txt', 7))
您可以稍后在csval上添加条件以查看它是否None
,如果是,请采取其他措施。