python - 解析文本文件中的文本 block (由空行分隔的 block )

标签 python python-2.7 python-3.x text-parsing string-parsing

我是一个全新的 Python 用户,想要解析如下所示的文本文件:

$ begin
$ vertex -1285.6 -226.2 -538.7 0
$ track 11 1000 0.7277 0.6765 0.1133 0
$ end

$ begin
$ vertex -1265.3 573.1 1547.7 0
$ track 11 1000 -0.7679 0.1650 0.6189 0
$ end

对于每个 block ($ begin ... $ end)我想得到顶点坐标 x y z:

$ begin
$ vertex x y z 0
$ track 11 1000 -0.7679 0.1650 0.6189 0
$ end

有人可以建议一种方法吗? 我非常感谢任何帮助或建议!

最佳答案

你可以在这里使用正则表达式。

patern = re.compile("\n\n")
print patern.split(content)

说明:这将在您的字符串中查找两个连续换行符的模式,并拆分为具有该模式的数组

例如:

   with open('data.txt', 'r') as myfile:
       str=myfile.read()
       #str="hello world \n line 1 \n line 2 \n\n line 3 line 4 \n line 5"
       print str
       patern = re.compile("\n\n")
       print patern.split(str)

结果: [' Hello World \n第1行\n第2行','第3行第4行\n第5行']

关于python - 解析文本文件中的文本 block (由空行分隔的 block ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43419255/

相关文章:

python - 适用于Python 2.7的cv2.cv(OpenCV示例代码中的32位)

python-3.x - 使用 Python 的 SOAP 请求

python - 无法在 Linux 上运行 Pyinstaller 可执行文件

python - Selenium 的应用程序没有响应 - 不显示进度条,并且在任务完成之前不在控制台中发出文本

python 装饰器 *args 和 ** kwargs

python - 使用AWS CDK将入口规则添加到安全组

Python 线程在 Python 中使用 ctrl-c 退出

python - 我怎样才能让 pip 知道我对 python 3.4 的包感兴趣?

python - 基于索引复制行会增加行数而不是复制

python - 将汽车制造商型号年份国家/地区添加到字典中