Как сослаться на объект функции из другой функции в Python?

Есть функция:

def open():
  folder_selected = (filedialog.askopenfilename())
  if folder_selected != '':
    f = pygame.mixer.music.load(folder_selected)
    pygame.mixer.music.play()
    print("vol", pygame.mixer.music.get_volume())
    duration = eyed3.load(folder_selected).info.time_secs
    print(duration)
    return duration

Мне надо сослаться на объект "duration" в другой функции:

def p(open):
  time = duration / 600
  i = 0
  s = 0
  for _ in range(time, time * 600, time):
    if value == i:
    pygame.mixer.music.set_pos(s)
  i = i + 1
  s = s + 1

Как это сделать? Когда я пытаюсь выводит сообщение "name duration is not defined" Что делать?


Ответы (2 шт):

Автор решения: n1tr0xs

Добавьте в вашу функцию p следующую строку duration=open(). Должно получится так:

def p(open):
    duration=open()
    ...# ваш код
→ Ссылка
Автор решения: DanilkaShcolnik

Я понял, нужно было добавить в функцию P строку "duration = open" без скобочек. Всем спасибо)

→ Ссылка