我有一个名为 ABC 的函数的输出,如下所示:
19/09/09 10:34:37 INFO tool.ImportTool: --incremental append
19/09/09 10:34:37 INFO tool.ImportTool: --check-column DTIN
19/09/09 10:34:37 INFO tool.ImportTool: --last-value 2019-07-27 00:00:00.0
19/09/09 10:34:37 INFO tool.ImportTool: (Consider saving this with 'sqoop job --create')
如何在 python 中获取 --last-value
,2019-07-27 00:00:00.0
将是动态的。
注意:我有大约 100 行数据作为输出,但这里我只给出了最后 4 行。
预期--last-value = 2019-07-27 00:00:00.0
这里的日期是基于输出的动态。
最佳答案
您可以使用字符串切片或正则表达式从输入中获取此日期。
字符串切片:
text = """19/09/09 10:34:37 INFO tool.ImportTool: --incremental append 19/09/09 10:34:37 INFO tool.ImportTool: --check-column DTIN 19/09/09 10:34:37 INFO tool.ImportTool: --last-value 2019-07-27 00:00:00.0 19/09/09 10:34:37 INFO tool.ImportTool: (Consider saving this with 'sqoop job --create')""" keyword = "--last-value" idx = text.index(keyword) + len(keyword) + 1 # keyword index + length of keyword + 1 (space) last_value = text[idx: text.index("\n", idx)]
-
import re last_value = re.search(r"--last-value (.+)\n", text).group(1)
关于python - 我们如何从Python文本中提取特定的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57853683/