我有一个问题,从一个ini文件读取一些值作为列表。我制作了一个程序,它将两个列表作为参数(源,目标),然后将源路径复制到目标路径。它从一个名为paths.ini的ini文件获取这些路径。但是,我注意到这些值没有按照时间顺序添加,这意味着ini文件中的第一个值不一定是列表中的第一个值。这是一个严重错误,因为我希望第一个源只能复制到第一个目标。从ini文件中读取值列表随机挑选
这里是什么,我都做了示例代码:
try:
src = list(dict(config.items('src')).values())
dst = list(dict(config.items('dst')).values())
print("src: "+ str(src) + " dst: "+ str(dst))
except Exception as e:
messagebox.showerror("Data mismatch", "Mismatch between data from ini and core file")
sys.exit(0)
if(utilFunctions.copyto(src, dst, True)):
successCopy()
else:
errorCopy()
对于那些希望看到的ini文件:
[src]
src1 = C:/Users/saUser/Documents/copyExample/singleCopies/1/2/3.txt
src2 = C:/Users/saUser/Documents/copyExample/singleCopies/1/2/3.txt
[dst]
dst1 = C:/Users/saUser/Documents/copyExample/singleCopies/1
dst2 = C:/Users/saUser/Documents/copyExample/singleCopies/1
Python中的字典(实际上在大多数语言中)是无序的。你为什么要通过'dict'传递'config.items('...')'调用,然后将它重新放回列表中? – Hamms
@Hamms我的程序将两个列表(源,目标)作为参数。你知道一种更好的方式,我可以通过某种方式从ini文件中获取值,以便对项目进行排序吗? – tomSurge
@tomSurge更好的方法是在同一行中输入所有源/目标,并用已知字符(例如',')分隔,然后简单地读取并分割该行。这将导致更简单的代码,并且能够具有可变数量的源和目的地而无需更改代码。 – DeepSpace