Я пытаюсь вызвать редактор тегов Марчуса из Python, и хотя я могу нормально использовать команду в командном окне, я продолжаю получать ошибку при попытке вызвать ее из Python.
import os
import subprocess
# Specify the export path and file format
export_path = "C:\\Users\\lords\\Videos\\MCOC Videos\\"
#file_prefix = project.GetName()
file_prefix = "Untitled Project 2"
file_format = "jpg"
filepath = os.path.join(export_path, file_prefix + "." + file_format)
cmd = [
"tageditor-cli",
f'set cover="{filepath}"',
f'-f "{os.path.join(export_path, file_prefix)}.mp4"'
]
#cmd = f"tageditor-cli set cover=\"{filepath}\" -f \"{os.path.join(export_path, file_prefix)}.mp4\""
try:
result = subprocess.run(
cmd,
capture_output=True,
timeout=10,
check=True
)
print(result.stdout)
except subprocess.TimeoutExpired:
print("The command timed out.")
except subprocess.CalledProcessError as e:
print(f"Command failed with exit code {e.returncode} {e.stderr}")
При запуске получается следующее:
['tageditor-cli', "set cover'=C:\\Users\\lords\\Videos\\MCOC Videos\\Untitled Project 2.jpg'", '-f %C:\\Users\\lords\\Videos\\MCOC Videos\\Untitled Project 2.mp4%']
Command failed with exit code 1 b'Error: Unable to parse arguments: The argument "file" mustn\'t be specified more than 1 time.\r\nSee --help for available commands.\r\n'
Я могу заставить его работать, используя второе назначение cmd, но я не знаю, почему версия с массивом не работает.
Посмотрев аналогичный пост, я также попробовал это:
cmd = [
"tageditor-cli",
'set',
'cover=',
str('"' + shlex.quote(filepath) + '"'),
'-f',
str(shlex.quote(export_path + file_prefix + ".mp4"))
]
Почему попытка вызвать эту внешнюю программу из сценария Python приводит к ошибкам? [дубликат] ⇐ Python
Программы на Python
1778422124
Anonymous
Я пытаюсь вызвать редактор тегов Марчуса из Python, и хотя я могу нормально использовать команду в командном окне, я продолжаю получать ошибку при попытке вызвать ее из Python.
import os
import subprocess
# Specify the export path and file format
export_path = "C:\\Users\\lords\\Videos\\MCOC Videos\\"
#file_prefix = project.GetName()
file_prefix = "Untitled Project 2"
file_format = "jpg"
filepath = os.path.join(export_path, file_prefix + "." + file_format)
cmd = [
"tageditor-cli",
f'set cover="{filepath}"',
f'-f "{os.path.join(export_path, file_prefix)}.mp4"'
]
#cmd = f"tageditor-cli set cover=\"{filepath}\" -f \"{os.path.join(export_path, file_prefix)}.mp4\""
try:
result = subprocess.run(
cmd,
capture_output=True,
timeout=10,
check=True
)
print(result.stdout)
except subprocess.TimeoutExpired:
print("The command timed out.")
except subprocess.CalledProcessError as e:
print(f"Command failed with exit code {e.returncode} {e.stderr}")
При запуске получается следующее:
['tageditor-cli', "set cover'=C:\\Users\\lords\\Videos\\MCOC Videos\\Untitled Project 2.jpg'", '-f %C:\\Users\\lords\\Videos\\MCOC Videos\\Untitled Project 2.mp4%']
Command failed with exit code 1 b'Error: Unable to parse arguments: The argument "file" mustn\'t be specified more than 1 time.\r\nSee --help for available commands.\r\n'
Я могу заставить его работать, используя второе назначение cmd, но я не знаю, почему версия с массивом не работает.
Посмотрев аналогичный пост, я также попробовал это:
cmd = [
"tageditor-cli",
'set',
'cover=',
str('"' + shlex.quote(filepath) + '"'),
'-f',
str(shlex.quote(export_path + file_prefix + ".mp4"))
]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия