Для маленьких проектов я нахожу самым легким работать с кортежами. Когда это становится слишком твердым для управления (и не прежде) я начинаю группировать вещи в логические структуры, однако я думаю, что предложенное использование словарей и объектов ReturnValue является неправильным (или слишком упрощенным).
Возврат словаря с ключами y0, y1, y2, и т.д. не предлагает преимущества перед кортежами. При возврате экземпляра ReturnValue со свойствами .y0, .y1, .y2, и т.д. не предлагает преимущества перед кортежами также. Необходимо начать называть вещи, если Вы хотите добраться где-нибудь, и можно сделать то использование кортежи так или иначе:
def getImageData(filename):
[snip]
return size, (format, version, compression), (width,height)
size, type, dimensions = getImageData(x)
, по моему скромному мнению, единственная хорошая техника вне кортежей должна возвратить реальные объекты с правильными методами, и свойства, как Вы добираются от re.match()
или open(file)
.
Да, думаю, можно.
У меня есть нечто подобное. Две машины, одна Intel (настольная), другая Sparc. Я могу войти на обе машины и получить доступ к одному и тому же серверу CVS (другой машине), используя доступ SSH с той же парой ключей, которая была сгенерирована на машине Intel.
Убедитесь, что при копировании через свой закрытый ключ вы установили оба разрешения каталога .ssh правильно (0700), и ваш домашний каталог не может быть доступен для записи для группы или всего мира. Id_rsa должен иметь доступ только для чтения пользователем (0400)
Да, это совершенно законно. ssh-ключам не важно, где они были сгенерированы, и их можно использовать сразу на нескольких машинах.
Попробуйте дать ssh-клиенту параметр «-v» или «-vv» (для подробного вывода) и проверьте параметр журнал ssh сервера для устранения проблемы.