У меня есть стандартный проект Python на App Engine. Он использует модуль ast
для преобразования Python исходного кода в код другого языка. Я столкнулся с проблемой, которая не была вызвана в локальной среде (Python 3.7.4 на macOS 10.15.4). Повторное развертывание прошло успешно, но API не будет обновлен. Создание другого проекта с теми же файлами не работает должным образом. Я также попробовал Cloud Shell, загрузив файлы или python3 main.py
на локальный, тогда они были правильными. Имеет ли Python время выполнения в App Engine некоторые различия?
Подробности:
Позвольте py3ca.py прочитать приведенный ниже исходный код Python в качестве входных данных для локальной среды ( $ python3 py3ca.py fizzbuzz.py
).
# fizzbuzz.py
res = []
for i in range(1, 101):
if (i % 15) == 0:
res.append('Fizz Buzz ')
elif (i % 3) == 0:
res.append('Fizz ')
elif (i % 5) == 0:
res.append('Buzz ')
else:
res.append(i)
print(res)
Это производит:
[
[1, [], "#", "0_18"],
[1, [], "=", ["var", "res"], [[]]],
[1, [], "for range", "i", [1, 101]],
[2, [], "ifs"],
[3, [], "if", ["==", ["%", ["var", "i"], 15], 0]],
[4, [], "call", null, ["attr", "res", "append"], ["Fizz Buzz "]],
[3, [], "elif", ["==", ["%", ["var", "i"], 3], 0]],
[4, [], "call", null, ["attr", "res", "append"], ["Fizz "]],
[3, [], "elif", ["==", ["%", ["var", "i"], 5], 0]],
[4, [], "call", null, ["attr", "res", "append"], ["Buzz "]],
[3, [], "else"],
[4, [], "call", null, ["attr", "res", "append"], [["var", "i"]]],
[1, [], "call", null, ["var", "print"], [["var", "res"]]],
[1, [], "end"]
]
Однако, Сценарий приложений, который отправляет в App Engine , производит:
Не соответствует местному (строки 8, 10, 12).