1
我寫過這個小程序。它從配置文件中讀取幾個文件名(主要是PDF),併爲每個應使用默認應用程序打開文件的文件創建一個按鈕。TkInter所有按鈕打開同一個文件
問題是,所有按鈕總是打開config.ini文件中的最後一個文件。這種行爲告訴我for循環必須有問題,但我不知道如何解決它。
任何想法?
from tkinter import *
import subprocess, os, sys
def opendoc(file):
if sys.platform == 'linux':
subprocess.call(["xdg-open", file])
else:
os.startfile(file)
ini = open('config.ini')
carray = []
for line in ini:
carray.append(line)
for line in carray:
print(line)
master = Tk()
for i in carray:
Button(master, text=i, command=lambda: opendoc(i)).pack(anchor=W)
mainloop()
因爲在最後一次迭代中,'i'被設置爲最終值,因此所有按鈕都指向該值。 –