Python 2.7-Tkinter用户输入提示
好的,我正试图在脚本中部署一个Tkinter提示符,以便将用户条目读入Python 2.7-Tkinter用户输入提示,python,python-2.7,tkinter,Python,Python 2.7,Tkinter,好的,我正试图在脚本中部署一个Tkinter提示符,以便将用户条目读入ROOTDIR变量 下面是一个Tkinter脚本,它似乎非常适合我试图完成的任务,但在将该脚本绑定到我的基本脚本(也可以在下面找到)时遇到困难 import Tkinter as tk class SampleApp(tk.Tk): def __init__(self): tk.Tk.__init__(self) self.entry = tk.Entry(self)
ROOTDIR
变量
下面是一个Tkinter脚本,它似乎非常适合我试图完成的任务,但在将该脚本绑定到我的基本脚本(也可以在下面找到)时遇到困难
import Tkinter as tk
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.entry = tk.Entry(self)
self.button = tk.Button(self, text="Please enter path", command=self.on_button)
self.button.pack()
self.entry.pack()
def on_button(self):
print self.entry.get()
app = SampleApp()
app.mainloop()
下面是我试图包含Tkinter提示符的基本程序
import glob
import os
import xlrd
import csv
#set data path
ROOTDIR = r'C:\Users\username\Desktop\Mults'
wb_pattern = os.path.join(ROOTDIR, '*.xlsx')
workbooks = glob.glob(wb_pattern)
start_rownum = 3 # number of row eliminated
with open('merged excel.csv', 'wb') as outcsv:
writer = csv.writer(outcsv)
for wb in workbooks:
book_path = os.path.join(ROOTDIR, wb)
book = xlrd.open_workbook(book_path)
sheet = book.sheet_by_index(0)
for row_num in xrange(start_rownum, sheet.nrows):
row = sheet.row_values(row_num)
writer.writerow(row)
非常感谢您的帮助
谢谢 这是一个几乎直接的复制粘贴,应该可以吗?唯一的改变是将
ROOTDIR
设置为tk窗口中的条目,并将其余部分写入函数中,以便在创建ROOTDIR
后可以调用它
import glob
import os
import xlrd
import csv
import Tkinter as tk
def maincode():
global ROOTDIR
wb_pattern = os.path.join(ROOTDIR, '*.xlsx')
workbooks = glob.glob(wb_pattern)
start_rownum = 3 # number of row eliminated
with open('merged excel.csv', 'wb') as outcsv:
writer = csv.writer(outcsv)
for wb in workbooks:
book_path = os.path.join(ROOTDIR, wb)
book = xlrd.open_workbook(book_path)
sheet = book.sheet_by_index(0)
for row_num in xrange(start_rownum, sheet.nrows):
row = sheet.row_values(row_num)
writer.writerow(row)
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.entry = tk.Entry(self)
self.button = tk.Button(self, text="Please enter path", command=self.on_button)
self.button.pack()
self.entry.pack()
def on_button(self):
global ROOTDIR
ROOTDIR = self.entry.get()
maincode()
app = SampleApp()
app.mainloop()
如果这不起作用,请回复我:)你说你有麻烦了。你有什么麻烦?此外,您的代码缩进也有问题。@BryanOakley我很难理解如何在脚本中使用Tkinter为什么您不能将最上面的代码复制/粘贴到基本代码中?如果你需要用户输入,那需要在哪里?@W1ll1amvl这就是我被卡住的地方。尝试将顶级代码与基本代码交织在一起,我将发布一个答案,您可以看到它是否有助于感谢您的时间!这起作用了。我很感激。