Как определяется порядок request.form.items()?
Я хочу напечатать введенные пользователем значения в файл, но каждый раз, когда я запускаю его снова, даже с теми же данными (или вообще без данных), они располагаются в другом порядке. Это часть моего.py файла, которая делает это:
for key, value in request.form.items():
data = "%s=%s\n" % (key, shlex.quote(value))
configfile.write(bytes(data, 'UTF-8'))
Вот пример одного вывода: (первые 3 строки по 40)
IP=''
cloud_radio=NO
TO=''
Вот еще один пример, где я ввел точно такие же данные: (опять первые 3 строки из 41)
key=''
port2=''
IP=''
Можно ли установить порядок, в котором они выводятся? ИЛИ убедитесь, что порядок один и тот же каждый раз?
1 ответ
Решение
В Python dict
не заказан. Вы можете отсортировать элементы по порядку их ключей:
for key, value in sorted(request.form.items()):
...
Если вам нужен конкретный порядок, вы можете указать ключевую функцию для сортировки