重複しているが一意の名前のファイルのリストを含むファイルがあります。例えば空白行で区切られた行をよりpython的にグループ化する方法
:
<md5sum> /var/www/one.png
<md5sum> /var/www/one-1.png
<md5sum> /var/www/two.png
<md5sum> /var/www/two-1.png
<md5sum> /var/www/two-2.png
目的は以下で終わることです:
[
[
'/var/www/one.png',
'/var/www/one-1.png'
],
[
'/var/www/two.png',
'/var/www/two-1.png',
'/var/www/two-2.png'
]
]
これは私が以前走ったコマンドからの出力です。今、私はこの出力を処理する必要がある、と私は初心者のために、次のコードを思い付いた:
from pprint import pprint
DUPES_FILE = './dupes.txt'
def process_dupes(dupes_file):
groups = [[]]
index = 0
for line in dupes_file:
if line != '\n':
path = line.split(' ')[1]
groups[index].append(path)
else:
index += 1
groups.append([])
pprint(groups)
with open(DUPES_FILE, 'r') as dupes_file:
process_dupes(dupes_file)
これを書くために、より簡潔な方法はありますか?
ための変数 'index'あるもの? – kogito
これはgroups変数と組み合わせて使用されます。 –
実際に出力に行末の文字を保存したいのですか?> –