Как определяется порядок 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()): 
    ...

Если вам нужен конкретный порядок, вы можете указать ключевую функцию для сортировки

Другие вопросы по тегам