【发布时间】:2017-05-03 20:55:05
【问题描述】:
由于必要,我将许多文件的内容转储到一个文件中,如下所示:
Filename=A1.cpp
Description=A1 CPP
Listen=/var/run/A1.cpp
Filename=A2.cpp
Description=A2 CPP
Listen=/var/run/A2.cpp
Write=/home/folder/textfile
您可能会发现,键会重复自己。但是,也有一些例外。可能有共同的钥匙和不同的钥匙。 目标是这样的:
| Filename | Description | Listen | Write |
| A1.cpp | A1 CPP | var/run/A1.cpp | - |
| A2.cpp | A2 CPP | var/run/A2.cpp | /home/folder/textfile |
您可能会发现输出是 md 格式。 我对 Python(3) 相当陌生。 我脑海中的问题可以这样排列;
如何通过
=进行拆分? (我尝试过使用正则表达式,但有很多情况我无法处理,例如空格、标点符号……)我应该如何存储它们以获得给定的输出? (字典,二维数组;总是以文件名开头)
附:为了简洁起见,我展示了我的问题的过度简化版本。
【问题讨论】:
-
我们可以说每条记录都以“文件名=”开头吗?只有这 4 个键/值对吗?如果有空格和标点符号之类的问题……你还没有展示出来,所以很难猜出你想要什么。
-
md 格式...哪一种?什么是“钥匙”?你做了哪些尝试?
-
是的,每条记录都以 Filename=... 开头,通过“=”分隔的目的取决于将来使用的灵活性。因为列名不仅限于四个,还会添加未知的列名。不过,由于这个原因,我无法对先前尝试的列名进行硬编码。
-
给定的格式 -bar 分隔 - 可以转换成 Markdown 文件。尝试从硬编码版本开始,因为键(列名)在常用键之上动态变化,我无法通过这种方法处理它们。我试图通过'='来划分左右手,有太多例外,然后我决定问;有没有办法以更聪明的方式处理这种情况。
标签: regex python-3.x data-structures split formatting