Как загрузить файлы, используя метод запроса, во вновь созданный каталог? - PullRequest
0 голосов
/ 21 февраля 2020

Я использую метод запроса для загрузки некоторых файлов. По умолчанию я могу загрузить файлы в каталог, где находится файл .py. Но я хочу изменить его на какой-то другой путь. С кодом ниже я могу создать каталог по мере необходимости. Но я не знаю, как установить путь загрузки для каталога, который я только что создал. Может ли кто-нибудь помочь с этим?

now = datetime.datetime.now()
Downloadpath = now.strftime("%Y_%m_%d-%H%M")
print("Making directory " + Downloadpath)
os.makedirs(Downloadpath, mode=0o777)

Редактировать: код для загрузки файлов, как показано ниже

 r = https.request('GET', urlname, headers={'Authorization': access_token})

            if r.status != 200:
                return False
            filename = urlname.split('/')[-1]
            filename += '.ext.zip'
            with open(filename, 'wb') as output_file:
                output_file.write(r.data) 

Также нет. файлов около 200-300. Скачивание файлов работает нормально.

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Вместо того, чтобы использовать только имя файла, просто объедините его с путем к сгенерированному каталогу при записи загруженных данных в файл:

os.makedirs(Downloadpath, mode=0o777)

# ...

with open(os.path.join(Downloadpath, filename), 'wb') as output_file:
    output_file.write(r.data)
0 голосов
/ 21 февраля 2020
import os,datetime

currentDir =os.path.abspath(os.getcwd())+"/"+datetime.datetime.now().strftime("%Y_%m_%d-%H%M")
os.mkdir(currentDir)

r = https.request('GET', urlname, headers={'Authorization': access_token})

if r.status != 200:
    return False
filename = urlname.split('/')[-1]
filename += '.ext.zip'
with open((currentDir+'/'+filename), 'wb') as output_file:
    output_file.write(r.data) 

Above code will work fine for you , 
Only thing you need to do is, just assign the path where **open((currentDir+'/'+filename))**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...