По какой-то причине Python не позволяет мне получить доступ к пользовательскому методу, который я создал в файле preview.py moviepy. Я просто хочу знать, как правильно реализовать это в файле. Для справки, до того, как я изменил название метода, он работал правильно.
Я проверил как минимум два файла __init.py__, и они оказались пустыми. Я не мог найти, инициализируются ли методы где-нибудь, и, вероятно, это то, чего мне не хватает.
Я также попытался перезапустить Git Bash, и это тоже не сработало (еще одно решение, которое я видел).
Оригинал:
@convert_masks_to_RGB
def preview(clip, fps=15, audio=True, audio_fps=22050, audio_buffersize=3000,
audio_nbytes=2, fullscreen=False):
Измененный:
@requires_duration
@convert_masks_to_RGB
def preview_custom(clip, marker_overlay = "marker_overlay.png", fps=15, audio=True, audio_fps=22050, audio_buffersize=3000,
audio_nbytes=2, fullscreen=False):
Между измененным и исходным методом есть несколько различий, однако на данный момент единственным результатом, который я ожидаю, является правильный вызов метода. Ошибка ниже:
Traceback (most recent call last):
File "T3AJM.py", line 249, in <module>
main()
File "T3AJM.py", line 34, in main
GUI_main_menu()
File "T3AJM.py", line 85, in GUI_main_menu
GUI_play_markers()
File "T3AJM.py", line 125, in GUI_play_markers
video.preview_custom(marker_overlay=TEMP_OVERLAY_FILE)
AttributeError: 'VideoFileClip' object has no attribute 'preview_custom'
Спасибо за уделенное время.
@Hildeberto video.preview_custom(marker_overlay=TEMP_OVERLAY_FILE)
Я даже не уверен, что это технически решает проблему, но просто делаю:
from moviepy.video.io.preview import *
а также
preview_custom(video, marker_overlay=TEMP_OVERLAY_FILE)
исправил проблему. Я понятия не имею, почему мне пришлось изменить способ его вызова, поскольку выполнение clip.preview() или, в данном случае, video.preview() раньше работало отлично, но что угодно.
Как вы вызвали preview_custom()? Покажи код.