Если я правильно понимаю вашу проблему, я думаю, os.path.expanduser("~")
даст вам путь к пользователю, используемому WebServer. Например, если вы используете Apache2, пользователь по умолчанию будет www-data, поэтому os.path.expanduser("~")
вернет /home/www-data/Downloads
. (Который по умолчанию не существует).
В случае, если вы хотите использовать папку текущего пользователя, я бы порекомендовал собрать имя пользователя текущего человека. path = "home/{}/Downloads".format(username)
. Еще лучше, если вы используете базу данных или файл, поместите весь загруженный контент в одну папку, и вы продолжаете отслеживать владельца видео из-за несуществующих пользователей, папок.
В случае это облачное приложение, я бы порекомендовал
- Создать страницу входа
- Загрузить видео в одну папку
- Отслеживать владельца файла в базу данных или текстовый файл
РЕДАКТИРОВАТЬ
В случае, если это не облачное приложение, и оно должно загрузить видео в папку загрузки, просто Жесткий код вашего пути в источник. (Не забывайте разрешения)
Затем жестко закодируйте ваш путь Загрузок в источник.
Измените
MusicPath = os.path.expanduser("~") + "/Downloads/"
на
MusicPath = "/home/{}/Downloads/".format(username)
Где username
- ваше имя пользователя.
Вы не можете использовать os.path.expanduser("~")
или os.getenv('username')
, потому что пользователь, который запускает процесс, используется веб-сервером, и программа никак не может узнать, кто вы на самом деле. Он всегда будет возвращать данные о пользователе, используемом веб-сервером.