1

UNIX (具体的には を使用してbashいます) では、ファイルの内容を簡単に並べ替えることができます。ファイルがあるとします:

chris@chris:~$ cat testSort.txt 
3       1       test01
8       2       test02
6       3       test03
7       4       test04
1       5       test05

実行sortすると、最初の列に基づいて並べ替えられた値が返されます

chris@chris:~$ sort testSort.txt
1       5       test05
3       1       test01
6       3       test03
7       4       test04
8       2       test02

その結果は、必要に応じてファイルまたはプログラムにパイプできます。Pythonでこれと同じくらい簡単な方法はありますか、それともファイルを読み込んで何らかのデータ構造として保存し、再度保存する必要がありますか?

錯乱

反対票を受け取った理由がわかりません - unix のように単純な方法 (つまり、1 語のコマンド) で並べ替えを行う方法があるかどうかを尋ねました。私が望んでいたことを示す例を提供しましたか?これは、「質問は研究努力を示しておらず、不明確であるか役に立たない」ことをどのように意味しますか?

4

1 に答える 1

4

どのくらい簡単にやりたいですか?keyこれは辞書順でソートしますが、追加の関数を に渡すことで、任意の基準に基づいてソートするように変更できますsorted

with open('input') as f:
    sorted_file = sorted(f)

#save to a file
with open('output') as f:
    f.writelines(sorted_file)

#write to stdout
import sys
sys.stdout.writelines(sorted_file)
于 2012-11-06T15:39:29.370 に答える