python - 在一行中解析python中的参数

标签 python parsing

我有一个文件,其中有几行:

FS "name" machine:"path"
{
}

我想读取 FS 之后的任何内容并返回每个参数。我的意思是返回应该是名称、机器和路径。

Name:
    "/PF/B/"
    "/PF/A/"

Machine:
    FFFFFF..
    XXXXXX…

Path:
    “/PF/J”
    “/PF/K”

代码:

Def parse()
with open (myfile.txt) as f:
    for line in f:
if line.strip().startswith(‘FS’)
            Name = []
            Machine = []
            Path = []
????

如有任何帮助,我们将不胜感激。

最佳答案

你可以使用正则表达式,

import re
with open('myfile.txt') as f:
    found = re.findall(r'^FS\s*"([^"]*)"\s*([^:]*)\s*:\s*"([^"]*)"',f.read(),re.MULTILINE)
names, machines, paths = zip(*found)

编辑:检查'FS'是否在一行的开头

EDIT2:适用于搜索模式之间可能的空格

关于python - 在一行中解析python中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25745773/

相关文章:

python - 最短路径搜索 - 使用边类型 [NetworkX、igraph]

python - 在 Atom 中导入含氢模块

Python PIL - 属性错误: 'NoneType' object has no attribute 'save'

python - 减少数据噪音

json - std::string 到 rapidJson 对象的转换

python - 有没有我可以导入梯度下降函数/方法的 Python 库?

java - 更正输入文件以读取每一行

linux - 如何在 unix 中使用 less 命令在日志文件中搜索多个字符串?

linux - 解析 iostat 输出

r - 如何将 data.frame 解析为树?