0

我想将用户输入的值打印到文件中,但每次我再次运行它时,即使使用相同的数据(或根本没有数据),它们的顺序也不同。这是我的 .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=''

这是我输入完全相同数据的另一个示例:(同样是 41 行中的前 3 行)

key=''
port2=''
IP=''

是否可以设置它们输出的顺序?或者确保每次的顺序都是一样的?

4

1 回答 1

1

在 Python 中 adict没有顺序。您可以按其键的顺序对项目进行排序:

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

如果需要特定的顺序,可以指定一个键函数来排序

于 2018-06-01T17:01:07.570 回答