Как определяется порядок request.form.items ()? - PullRequest
0 голосов
/ 01 июня 2018

Я хочу напечатать введенные пользователем значения в файл, но каждый раз, когда я запускаю его снова, даже с теми же данными (или вообще без данных), они располагаются в другом порядке.Это часть моего .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 Ответ

0 голосов
/ 01 июня 2018

В Python dict не упорядочен.Вы можете отсортировать элементы по порядку их ключей с помощью:

for key, value in sorted(request.form.items()): 
    ...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...