Вопрос с установкой файлов с интеренета
Я сделал некий код. Он будет устанавливать фотку с интернета. Как сделать директорию устанавливаемого файла, чтобы не было начала, но есть одна или в крайнем случае больше одной папки, которые 100% существуют. Должна быть подгрузка файла в папку, которая существует вне зависимости от диска. Например: file\python\121.png
def WebDownload(self):
from urllib import request
import sys
myUrl = "https://games.mail.ru/hotbox/content_files/gallery/2019/10/02/c14b657b053d4b6394a990e4cbd1c70a.jpg"
myFile = "D:\\Python\\121.png"
try:
request.urlretrieve(myUrl, myFile)
except Exception:
print("Ошибка!")
print(sys.exc_info())
Ответы (2 шт):
Автор решения: eri
→ Ссылка
Используйте os.makedirs чтоб создать каталоги
import os
os.makedirs("file/python/", exist_ok=True)
Можно получить папку, в которой находится запущенный файл
import os, sys
def module_path():
if hasattr(sys, "frozen"):
return os.path.dirname(sys.executable)
return os.path.dirname(__file__)
А потом получаем путь относительно нашего запускаемого файла
myFile = os.path.join(module_path(), 'images' ,'121.png')
Автор решения: Sergey Danyleiko
→ Ссылка
1) Создать папку
def createFolder(path):
if not os.path.exists(path):
os.makedirs(path)
2) Скачать файл по ссылке и сохранить в нужную дерикторию
myUrl = "https://games.mail.ru/hotbox/content_files/gallery/2019/10/02/c14b657b053d4b6394a990e4cbd1c70a.jpg"
myFile = "D:\\Python\\121.png"
f = open(myFile, 'wb')
f.write(urlopen(myUrl).read())
f.close()