排序文件的内容

时间:2012-11-06 15:36:32

标签: python unix

在unix中(具体来说,我正在使用bash),我可以轻松地对文件的内容进行排序;鉴于我有一个文件:

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

运行sort将返回基于第1列的排序值

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

我可以根据需要将结果导入文件或程序;有什么方法在python中这么简单,或者我是否需要读取我的文件,将其保存为某种数据结构,然后再次保存?

混乱

我不知道为什么我收到了一个downvote - 我问是否有一种简单的方法,如unix(即一个单词命令)来实现排序。我甚至提供了一个例子来展示我想要的东西?这是什么意思“这个问题没有显示研究成果,不清楚或没有用”?

1 个答案:

答案 0 :(得分:3)

你想要做多容易?这按字典顺序排序,但您可以通过将其他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)