Вы можете использовать метод string join . Все, что вам нужно сделать, это вызвать '_'.join
в кортеже триграмм при печати.
print(str('_'.join(entry[0]))+"\t"+str(entry[1]))
Другие примечания:
(1) Вы можете быть более питоническим и генерировать свой listText
, используя понимание списка следующим образом: listText = [word.lower() for word in lyrics.split()]
(2) Вы можете использовать setdefault
словаря вместо if/else
для увеличения / инициализации триграммы следующим образом: freq.setdefault(trigram, 0)
, а затем для увеличения freq[trigram] += 1
без использования какого-либо блока if / else. Прямо сейчас вы перебираете freq.keys()
в поиске trigram
в вашем выражении if
, которое является постоянным во времени в Python 3 (эквивалентно высказыванию trigram in freq
), но линейным во времени в Python 2.
Чтобы добавить поддержку MySQL и PostgreSQL в PHP, вам нужны не только библиотеки DLL расширения PHP. Вам также потребуются собственные библиотеки MySQL и PostgreSQL. DLL расширения PHP, вероятно, не находят какую-то DLL, от которой они зависят, поэтому они не могут запуститься.
Убедитесь, что у вас установлен клиент MySQL и PostgreSQL, а их библиотеки DLL находятся в каком-нибудь доступном месте.
Пример IE:
Итак, убедитесь, что PHP может найти libmysql.dll (я считаю, что этот поставляется с двоичным дистрибутивом Windows PHP. Хотя не уверен).
Чтобы добавить к совету Пабло Санта Круса. В Windows вы можете включить необходимые библиотеки в среду PATH
. (Не обязательно копировать в папку Windows). При загрузке библиотек widows также просматривает каталоги PATH
.
Если вы используете стандартный двоичный дистрибутив Win32 с php.net для PHP5.2, то пакет должен содержать все зависимости в корне пакетов , Итак, если вы установили PHP5.2 в C: \ php
, добавьте этот каталог в envar PATH
. Перезагрузите Apache, и я ожидаю, что расширения загрузятся правильно.
У меня возникла проблема с конкретной версией PHP в Windows. Проблема была в libmysql. Я обнаружил ошибку на сайте php.net от кого-то, у кого такая же проблема.
Я использовал предыдущий выпуск php, и libmysql работала. Ознакомьтесь с примечаниями к используемому вами дистрибутиву php. Я думаю, что после конкретной версии они упоминают новую политику в отношении libmysql.
Из того, что вы упомянули, php не может найти расширения. Убедитесь, что вы установили путь в php.ini, который указывает, где расположены расширения, что расширения существуют и что к папке можно получить доступ (разрешения на чтение).
Если все не удается, попробуйте переместить расширение в windows / system32 в попытке найти, что могло бы быть настоящей проблемой.
С уважением,
Эти расширения зависят от собственных библиотек, которые предоставляются двоичными дистрибутивами MySQL и PostgreSQL. Установите их и поместите библиотеки, например, в папку apache bin
. Это LIBMYSQL.DLL
и LIBPQ.DLL
соответственно.
Я обычно делаю это вместо того, чтобы загрязнять ими папку Windows / System32
, потому что в моей системе только apache / php является клиентом этих баз данных, а также делает мою установку apache / php более переносимой.
По моему опыту, PHP в Windows - это большая проблема. Обычно я заставляю его работать, но всегда приходится много гуглить, проб и ошибок - по крайней мере, для меня.
В конце концов, мне это надоело, и я просто установил Ubuntu Server в виртуальную машину и получил он запускается в считанные минуты. Я не могу сказать, подходит ли вам этот вариант или нет, но если это так, то в долгосрочной перспективе это определенно избавит вас от многих головных болей. Не говоря уже о том, что вы всегда можете перемещать свои виртуальные машины, создавать моментальные снимки и делать все другие причудливые вещи, для которых виртуальные машины подходят.
проблема в том, что apache загрузил PHP, но PHP не смог загрузить его расширение (mysql, postgresql, ...). Я думаю, вам следует вводить значения пути в свой файл php.ini в формате unix (не используйте символы обратной косой черты в качестве разделителя каталогов). поэтому в вашем файле php.ini измените это:
extension_dir = "C: / php / ext"
У меня была такая же проблема и я попробовал скопировать libmySQL.dll в папку bin apache и это решило проблему (я устанавливаю PHP 5.2.5 x64). Большое спасибо.
У меня тоже была такая же проблема, и я решил ее путем добавления пути bin "PostgreSQL" в переменные системной среды
ПУТЬ: C: \ Program Files \ PostgreSQL \ 8.4 \ bin Вы также можете проверить phpinfo ().
Когда я устанавливаю PostgreSQL, пропущен параметр «Системный путь». Я вручную добавил, а затем перезапустил систему.
У меня тоже была эта проблема, и я скопировал соответствующие (.dlls) в systen 32, но у меня все равно не получилось. Я использую 64-битную Windows 7. Чтобы заставить это работать для меня, мне также пришлось скопировать libmysql.dll в каталог ext. Сообщение об ошибке покинуло журнал Apache, и страница была загружена с положительным ответом (соединение установлено).