Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python从参考点提取文件库中的条目_Python_Python 3.x - Fatal编程技术网

使用python从参考点提取文件库中的条目

使用python从参考点提取文件库中的条目,python,python-3.x,Python,Python 3.x,您能给我一个python示例,说明如何使用起始引用和结束引用点提取文本条目吗?例如,“test.txt”文件的内容如下: *开始123 1234567 abcdefg xyz1234 *end123 我希望python搜索“*start123”,一旦找到,就查找端点“*end123”,然后将中间的任何条目提取出来并按原样保存到新文件“test2.txt”中。我知道这可以在grep或awk中完成,但如果您能提供一个python示例,我可以重用它来完成下一步。在这种情况下,我会使用regex。一般来

您能给我一个python示例,说明如何使用起始引用和结束引用点提取文本条目吗?例如,“test.txt”文件的内容如下:

*开始123 1234567 abcdefg xyz1234 *end123


我希望python搜索“*start123”,一旦找到,就查找端点“*end123”,然后将中间的任何条目提取出来并按原样保存到新文件“test2.txt”中。我知道这可以在grep或awk中完成,但如果您能提供一个python示例,我可以重用它来完成下一步。

在这种情况下,我会使用regex。一般来说,尝试使用str.find()进行文本匹配。

最简单的方法是使用
str.find()。此方法返回找到子字符串的索引,如果未找到子字符串,则返回-1。我将把I/O和错误检查留给您来实现。因此,子字符串将出现在行中,您可以对字符串进行切片,以仅获取它们之间的内容

>>> string = "* start123 1234567 abcdefg xyz1234 * end123"
>>> st = string.find('* start123')
>>> ed = string.find('* end123')
>>> string[st+len('* start123 '):ed-1]
'1234567 abcdefg xyz1234'
只需确保处理未找到子字符串的情况