0

我目前正在使用 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”命令,根据需要选择哪一行。

任何正确方向的帮助将不胜感激!

4

1 回答 1

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是否为 ,如果是,则执行另一个操作。

于 2014-06-18T15:13:40.623 回答