Я пытаюсь запустить команду, используя subprocess.check_call()
, но из вывода видно, что параметры, которые я даю, интерпретируются не как строка, а как список символов.Команда, которую я пытаюсь выполнить: 7z x test.rar
.Что на самом деле работает:
subprocess.CalledProcessError: Command '['7z', 'x', 't', 'e', 's', 't', '.', 'r', 'a', 'r']
вернул ненулевой статус выхода 2.
Почему-то имя файла разделено символами.Чего мне не хватает?
Код:
def main():
parser = argparse.ArgumentParser()
parser.add_argument("input", help="File/Folder to extract")
args = parser.parse_args()
extract_file(args.input)
def extract_file(file):
extract_cmd = ['7z']
extract_cmd.extend('x')
extract_cmd.extend(file)
subprocess.check_call(extract_cmd)