我有一个类来获取文件,执行一些进程,并输出制表符分隔文件。 我需要对这个输出文件进行排序,最简单的方法是命令行:sort -k1,1 -k2,2n -k3,3n
但是,我想将它实现为一个python类。
我试过了:
from subprocess import call
# classA take input file, do something, output a file, named 'tmp_output'
class ClassA(object):
def __init__(self,tmp_input,tmp_output):
self.tmp_input = tmp_input
self.tmp_output = tmp_output
self.dosomething(tmp_input)
def dosomething(self,tmp_input):
outputfile = open(self.tmp_output,'w')
#dosomething
# something = ...
outputfile.write(something)
# call this class to do something
a=ClassA('tmp_input','tmp_output') # this output a file called tmp_output
# Another class to sort tmp_output
class Sort(object):
def __init__(self,tmp_output,output):
self.tmp_output = tmp_output
self.output = output
def sort(self):
call('sort -k1,1 -k2,2n -k3,3n self.tmp_output > self.output') # THIS STEP DOES NOT WORK
我的问题是如何调用sort -k1,1 -k2,2n -k3,3n,因为输入和输出来自类变量。