Файл Python urllib2 загружает проблемы

Вы рассмотрели одну сторону проблемы - какому методу должно соответствовать лямбда-выражение. Что вы не учли, так это то, что происходит со всеми другими методами в интерфейсе.

Язык можно было бы указать так, чтобы лямбда-выражение соответствовало одному методу, а все остальные выкидывали RuntimeException - но это было бы редко полезно. Рассмотрим, как будет использоваться Foo . В результате вы получите объект, для которого вы могли бы вызывать только некоторые методы, и вы даже не знали бы , какие методы вы могли бы безопасно вызвать.

Если вы знаете, что вы собираетесь вызывать только один метод (например, count в вашем примере), то это один автономный элемент функциональности, и он может быть инкапсулирован в отдельный интерфейс - в этот момент существующее лямбда-выражение функциональность в порядке. Если вы не знаете, что хотите использовать только один метод, то ваше предложение все равно не поможет.

6
задан Vebjorn Ljosa 4 July 2011 в 10:11
поделиться

2 ответа

Если Вы используете Python 2.5 или более новые, urllib2_file является и ненужным и не поддерживается, так проверка, какую версию Вы используете (и возможно обновляют).

Если Вы используете Python 2.3 или 2.4 (единственные версии, поддерживаемые urllib2_file), попытайтесь выполнить пример кода и посмотрите, есть ли у Вас та же проблема. Если так, там вероятно что-то не так или с Вашим Python или urllib2_file установка.

Править:

Кроме того, Вы, кажется, не используете ни один из urllib2_fileдва поддерживаемых формата для данных POST. Попытайтесь использовать одну из следующих двух строк вместо этого:

d = ['uploaded', open(sys.argv[1:])]
## --OR-- ##
d = {'uploaded': open(sys.argv[1:])}
2
ответ дан 17 December 2019 в 20:36
поделиться

Во-первых, существует третий способ запустить программы Python.

Из cmd.exe ввести python myprogram.py. Вы получаете хороший журнал. Вы не должны вводить материал одна строка за один раз.

Во-вторых, проверьте urrlib2 документацию. Необходимо будет посмотреть на urllib, также.

Запрос требует URL, и urlencoded закодировал буфер данных.

данные должны быть буфером в стандарте application/x-www-form-urlencoded формат. urllib.urlencode () функция берет отображение или последовательность 2 кортежей и возвращает строку в этом формате.

Необходимо закодировать данные.

0
ответ дан 17 December 2019 в 20:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: