Anton Kuzmichev, В вопросе просто странный код, там и на None через == проверяют, и с отступами косячат)
Да и тем более автор согласен с вариантом - генератором, значит, скорее всего, он у него работает и без изменения items на iteritems
Возможно гайды устарели и порядок действий немного отличается, но пилить свои костыли для такой распространенной задачи как чтение rss? Проще поискать.
Автор просто неправильно перевёл, вот что написано по ссылке:
We need to use virtual environments to keep the dependencies used by different Python projects separate, and to keep our global site-packages directory clean.
А то как автор это интерпретировал видно в вопросе.
Ну и стоит уточнить, что тот кусок кода который привёл автор совершенно не обязательно писать каждый раз.
Михаил Крюков, ок, открыл новый строковый метод для себя. По самой проблеме: у тебя задача получать слово из первого аргумента командной строки, у тебя же само слово (которое может меняться) забито в переменную, решить так:
import sys
foo = sys.argv[1]
print(foo.swapcase())