2016-05-26 1 views
0

Мы знаем, что мы могли бы использовать urllib.urlretrieve для загрузки файла через HTTP в локальную файловую систему. Например:Путь по умолчанию для python urlretrieve для загрузки файла по HTTP

import urllib 
urllib.urlretrieve ("http://www.example.com/songs/mp3.mp3", "mp3.mp3") 

Интересно, где по умолчанию путь, если мы загружаем файл как mp3.mp3? Я прочитал документ python.

urllib.urlretrieve (url [, filename [, reporthook [, data]]]) Скопируйте сетевой объект, обозначенный URL-адресом, в локальный файл, если необходимо. Если URL указывает на локальный файл или действительная кешированная копия объекта существует, объект не копируется. Возвращает кортеж (имя файла, заголовки), где filename - имя локального файла, под которым объект может быть найден, а заголовки - это любой метод info() объекта, возвращаемого urlopen() (для удаленного объекта, возможно, кэшированного) , Исключения такие же, как и для urlopen(). Второй аргумент, если присутствует, указывает местоположение файла для копирования (если отсутствует, то будет временный файл с сгенерированным именем). Третий аргумент, если присутствует, является функцией перехвата, которая будет вызываться один раз при установлении сетевого соединения и один раз после каждого последующего чтения блока. Крюк будет передан по трем аргументам; количество переданных блоков, размер блока в байтах и ​​общий размер файла. Третий аргумент может быть -1 на старых FTP-серверах, которые не возвращают размер файла в ответ на запрос на получение.

В нем не указывается, что такое путь по умолчанию. Интересно, всегда ли мне нужно использовать абсолютный путь во втором аргументе?

ответ

0

По умолчанию, если вы не указали какой-либо путь, файл будет находиться в вашем текущем каталоге. И если вы хотите поместить файл в указанное местоположение, вы всегда должны использовать относительный путь вместо абсолютного пути, потому что ваши коды могут работать в другой системе os.

Смежные вопросы