我目前使用python linecache模块来抓取给定文本文档中的特定行,并用所述行创建一个新文件。例如,代码的一部分是这样的:用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循环中,这样如果变量7保留为空,则会执行另一个操作。有没有办法使用linecache检查'variable7 ='后面的空格,看看是否有任何输入,如果是,只抓住特定的值或字符串?
我知道(但并不真正理解)bash脚本似乎使用'$'作为插入或调用给定文件的占位符。我想我需要实现类似的东西...
我想过在文本文件中有说明,指示值应该在下面一行中指定 - 以避免只选择一行的段 - 但是它允许一个人意外地进入多余的休息时间,这会弄乱所有后续的“getline”命令,就需要选择哪一行而言。
任何帮助正确的方向将不胜感激!
这正是我所需要的。非常感谢! – user2068783
嗯,看起来我有这个方法的一些问题,并且我认为它基于在.txt文件中'variable7 = 34'内有空格。 我已经成功地得到“无”返回的唯一方法是写第二行,如下所示: SP = l.split(“=”) 就这样,‘无’则返回“variable7 = '和variable7 ='。然而,如果实际上定义了一个整数,那么'variable7 = 23'(没有空格)'None'仍然被返回,但是如果它被写为'variable7 = 23',那么记录'23'。如果可能的话,我想消除对空间的敏感性。再次感谢。 – user2068783
@ user2068783更新了我的答案 – Korem