我正在尝试按文件每行的第一个字符对文件进行分组。你知道吗
例如,文件:
s/1/1/2/3/4/5///6
p/22/LLL/GP/1/3//
x//-/-/-/1/5/-/-/
s/1/1/2/3/4/5///6
p/22/LLL/GP/1/3//
x//-/-/-/1/5/-/-/
我需要将所有内容从第一个s/
到下一个s/
进行分组。我认为split()
不起作用,因为它会删除分隔符。你知道吗
预期最终结果:
s/1/1/2/3/4/5///6
p/22/LLL/GP/1/3//
x//-/-/-/1/5/-/-/
s/1/1/2/3/4/5///6
p/22/LLL/GP/1/3//
x//-/-/-/1/5/-/-/
如果可能的话,我宁愿不使用re
模块(是吗?)你知道吗
编辑:尝试:
下面是使用列表理解在组中获取的值:
with open('/file/path', 'r') as f:
content = f.read()
groups = ['s/' + group for group in content.split('s/')[1:]]
因为s/
是序列中的第一个字符,所以我使用[1:]
来避免在groups[0]
中只有s/
元素。你知道吗
有更好的办法吗?还是这是最好的?你知道吗
假设文件的第一行以
's/'
开头,您可以尝试以下操作:要处理不是以
's/'
开头并且第一个元素在第一个's/'
之前都是行的文件,我们可以做一个小的更改并在第一行中添加一个空字符串:或者,如果我们想跳过行直到第一个
's/'
,我们可以执行以下操作:相关问题 更多 >
编程相关推荐