Переименование файла, загруженного с помощью запросов Python

Как я могу заменить имя файла pdf , загружаемого с помощью запросов Python?

Я хочу сохранить его как Manual_name1.pdf не как Elkinson%20Jeffrey.pdf

Файл CSV выглядит так:

 Manual_name1 https://www.adndrc.org/diymodule/doc_panellist/Elkinson%20Jeffrey.pdf Manual_name2 http://www.parliament.bm/uploadedFiles/Content/House_Business/Presentation_of_Papers_and_of_Reports/PCA%20Report%209262014.pdf manual_name3 http://www.ohchr.org/Documents/HRBodies/OPCAT/elections2016/HaimoudRamdan.pdf 

Мой текущий код:

 import os import csv import requests write_path = 'C:\\Users\\hgdht\\Desktop\\Downloader_Automation' # ASSUMING THAT FOLDER EXISTS! with open('Links.csv', 'r') as csvfile: spamreader = csv.reader(csvfile) for link in spamreader: if not link: continue print('-'*72) pdf_file = link[0].split('/')[-1] with open(os.path.join(write_path, pdf_file), 'wb') as pdf: try: # Try to request PDF from URL print('TRYING {}...'.format(link[0])) a = requests.get(link[0], stream=True) for block in a.iter_content(512): if not block: break pdf.write(block) print('OK.') except requests.exceptions.RequestException as e: # This will catch ONLY Requests exceptions print('REQUESTS ERROR:') print(e) # This should tell you more details about the error 

One Solution collect form web for “Переименование файла, загруженного с помощью запросов Python”

Вместо

 pdf_file = link[0].split('/')[-1] 

используйте конкретный столбец из файла csv:

 pdf_file = link[1] # (assuming the file name is in the second column) 

Если имя файла находится в первом столбце, вы должны использовать

 pdf_file = link[0] # (assuming the file name is in the first column) # OR import time # put this in the beginning of your script pdf_file = '{}-{}.pdf'.format(link[0], int(time.time())) # file name will look like: "name-1495460691.pdf" 

но тогда вам придется изменить ссылку на саму ссылку при вызове с запросами:

 a = requests.get(link[1], stream=True) # (assuming the link is in the second column) 
  • Диспетчерские нажатия клавиш для встроенного Pygame
  • Python избавляется от байтов b ''
  • Вход в два файла с различными настройками
  • TypeError: module .__ init __ () принимает не более 2 аргументов (3 данных)
  • django simple captcha продолжает говорить «недействительный CAPTCHA»
  • Подсчитайте количество результатов для определенного слова в Twitter (API v1.1)
  • многопроцессорная обработка и потоковая передача с использованием asyncio в Python 3.4
  • Как изменить строковое представление класса Python?
  • Почему карта возвращает объект карты вместо списка в Python 3?
  • Запустите HTML-код в браузере (который создается BeautifulSoup) прямо из Python
  • Ошибка синтаксиса в библиотеке jinja 2
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.