我有一個問題,從一個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