Я часто беру строки формата Python в качестве параметров конфигурации - с строкой формата, снабженной определенным, известным списком аргументов ключевого слова. Поэтому обращение к индексам списка переменной длины вперед или назад в строке формата - это именно то, что мне нужно.
Я только что написал этот хак, чтобы сделать работу с отрицательным индексированием:
string_to_tokenise = "Hello_world"
tokens = re.split(r"[^A-Z\d]+", string_to_tokenise, flags=re.I)
token_dict = {str(i) if i < 0 else i: tokens[i] for i in range(-len(tokens) + 1, len(tokens))}
print "{thing[0]} {thing[-1]}".format(thing=token_dict)
Результат:
Hello world
Итак, чтобы объяснить, вместо того, чтобы передавать в списке токенов, я создаю словарь со всеми необходимыми целыми ключами для индексации списка от 0 до len (..) - 1, и я также добавляю отрицательные целые ключи для индексации с конца от -1 до - (len (..) - 1), однако эти ключи преобразуются из целых чисел в строки, так как формат будет интерпретировать их.
Существует несколько способов подключения к вашему экземпляру Cloud SQL с помощью экземпляра GCE, я постараюсь объяснить все из них:
1.Использовать Public IP
. Это, пожалуй, самый простой из-за вашего варианта использования, ваша конфигурация PHP
выглядит правильно (параметр $port
должен быть 3306 между прочим). Чтобы подключиться к вашему экземпляру Cloud SQL с помощью Public IP, просто перейдите здесь , выберите свой экземпляр Cloud SQL, перейдите в раздел «Авторизованные сети», нажмите «Добавить сеть» и введите IP-адрес вашего экземпляра GCE.
2.Использование Private IP
. Это похоже на предыдущий, но вам нужно принять во внимание некоторые соображения , тогда вам просто нужно отредактировать ваш экземпляр Cloud SQL, активировать частный IP и подключиться к нему из вашего экземпляра GCE [1112 ]
3.Использование Cloud SQL Proxy
. Чтобы использовать эту опцию, просто следуйте этой документации .
4.Использование Client libraries
. Но клиентская библиотека Cloud SQL для PHP в настоящее время находится в стадии бета-тестирования, поэтому я рекомендую вам использовать некоторые из перечисленных выше вариантов.