1

full.txt には以下が含まれます。

www.example.com/a.jpg
www.example.com/b.jpg
www.example.com/k.jpg
www.example.com/n.jpg
www.example.com/x.jpg

partial.txt には以下が含まれます。

a.jpg
k.jpg

次のコードで目的の結果が得られないのはなぜですか?

with open ('full.txt', 'r') as infile:
        lines_full=[line for line in infile]

with open ('partial.txt', 'r') as infile:
    lines_partial=[line for line in infile]    

with open ('remaining.txt', 'w') as outfile:
    for element in lines_full:
        if element[16:21] not in lines_partial: #element[16:21] means like a.jpg
            outfile.write (element)  

目的のremaining.txtには、partial.txtにないfull.txtの要素が正確に次のように含まれている必要があります。

www.example.com/b.jpg
www.example.com/n.jpg
www.example.com/x.jpg
4

2 に答える 2

1

このコードには、各行の末尾に改行文字が含まれます。つまり、一致し"a.jpg"たり、"k.jpg"正確に一致したりすることはありません。

with open ('partial.txt', 'r') as infile:
    lines_partial=[line for line in infile]

に変更します

with open ('partial.txt', 'r') as infile:
    lines_partial=[line[:-1] for line in infile]

改行文字を取り除く ( line[:-1]「行の最後の文字なし」を意味します)

于 2013-09-13T06:00:56.147 に答える