У меня есть исполняемый файл, который имеет много опций, и я sh для создания классов. Например, в exe c есть опции, которые могут копировать строки файла, переименовывать части файла, сжимать файл, определять количество c строк файла и т. д. c. У каждого варианта есть параметры. Я не уверен, что поступаю неправильно, но я хочу использовать oop.
import subprocess
class ExecProcess:
def __init__(self, myfile, tempfile, outfile):
self.myfile = myfile
self.tempfile = tempfile
self.outfile = outfile
self.compressed_file = self.outfile + 'zip'
def copy(self, myfile):
temp_copy = subprocess.call(['executable', '-c', self.myfile, '-out', self.tempfile])
return temp_copy # should this be return self.tempfile which is the output?
def rename(self, myfile, tempfile, outfile): # need to include all the variables I declared in init?
output = subprocess.call(['executable', '-i', self.myfile, '-r', self.tempfile'-out', self.compressed_file])
return output # return self.outfile?
Учитывая вышесказанное, как я вызываю методы в классе, а затем пишу тесты для них, например: используя pytest. Мне не интуитивно понятно, как тестировать вызовы подпроцесса с помощью pytest
Результаты каждого вызова каждый раз представляют собой разные файлы, каждая последующая команда принимает файл из более ранней команды в качестве входных данных. Пожалуйста, обратите внимание, myfile - единственный оригинальный файл, который у меня есть. tempfile и outfile - это просто имена переменных, которые я присвоил результатам.
Любая помощь будет оценена по достоинству