我应该如何使用python的sort命令?

时间:2015-03-15 16:00:18

标签: python sorting command subprocess

我有一堆不同的文本文件,我正在尝试将文本排序到一个文件中。我正在使用python的子进程,我编写了以下代码

command_line = "sort -m 1.txt 2.txt > a.txt"
args = shlex.split(command_line)
subprocess.call(args)

并且subprocess.call(args)返回2作为结果,并且没有在a.txt中写入任何内容。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

如果要在命令行中使用shell重定向操作符>,则必须将shell=True传递给subprocess.call。否则,'>'和' a.txt'作为命令行参数传递给sort。使用shell=True,命令行将传递给实际的shell并由其解释,因此您不应该shlex.split它。使用os.system代替subprocess.call可能更容易,{{1}}默认使用shell。