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 回答