Python读取文件和解析行

2024-10-03 13:29:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在某个目录(/patch/In)中,我的文件名为:

S0000001.ARQ
S0000001.SRQ
S0000002.ARQ
S0000002.SRQ

……等等

每个文件的结构基本相同,但值不同,例如: `在

^{pr2}$

我想从dir读取每个文件并取出一些值以便以后使用。 我现在所拥有的:

path = 'patch/in/*.ARQ'
files=glob.glob(path)   
for file in files:
    f=open(file, 'r')
    print '%s' %  f.readlines()

我想打印(存储)行:

POLICY=AUT
G=STEVEN
SN=JEENS
SERIALNUMBER=060294223
DOCUMENT=S0000001

然后是实际值:

AUT
STEVEN
EENS
060294223
S0000001

Tags: 文件pathin目录filesglobfilepatch
2条回答

您可以边走边打印包含“=”的行,并在最后累加要打印的值。在

path = 'patch/in/*.ARQ'
files=glob.glob(path)   
for filename in files:
    values = []
    with open(filename) as f:
        for line in f:
            if '=' in line:
                print line,
                key, value = line.strip().split('=')
                values.append(value)
    print '\n'.join(values)

假设读取文件的代码正常工作,可以按如下方式解析这些行:

import re

...
...

lines = f.read()
keyValues = re.findall('^(\\w+)=(.+)$', lines, re.MULTILINE)

print('Lines containing key and value:')
for key, value in keyValues:
    print('{}={}'.format(key, value))

print('Actual values:')
for key, value in keyValues:
    print(value)

编辑:更新的读取文件方法

相关问题 更多 >