2015-11-07 139 views
-1
import Tkinter 
import tkMessageBox 
import xlwt 
from xlrd import open_workbook 
from tempfile import TemporaryFile 
from xlwt import Workbook 
import tkSimpleDialog 
import tkMessageBox 
from tkFileDialog import * 
top = Tkinter.Tk() 
#FSR 
def fsr(): 
    tkMessageBox.showinfo("Open", "Select Feedback file") 
    filename1 = askopenfilename(filetypes=[("Excel worksheets","*.xls")]) 
    if filename1=='': 
     tkMessageBox.showerror('Error', 'All files must be uploaded') 
     fsr() 
B1 = Tkinter.Button(top, text = "Details upload", command = fsr) 
B1.pack() 
top.mainloop() 
wb1 = open_workbook(filename1) 
sheet1 = wb1.sheet_by_index(0) 
batch = [] 
print "****" 
for row in range(sheet1.nrows): 
    if(row!=0): 
     batch.append(sheet1.cell(row,16).value) 
     print "****" 

此代码片段不会在控制台上打印任何内容。打印“****”不起作用。而且,如果发射top.mainloop(),则不会显示tk窗口。如何解决这个问题?在fsr这样不在控制台上打印任何东西

+2

解决您的压痕。您的代码无法运行。 – khelwood

+0

实际代码中的缩进是正确的。在这里复制时可能会搞砸了。请告诉代码有什么问题。 – user3848981

+0

根据您的建议更正了缩进。请现在检查.. – user3848981

回答

1

将代码:

import Tkinter 
import tkMessageBox 
import xlwt 
from xlrd import open_workbook 
from tempfile import TemporaryFile 
from xlwt import Workbook 
import tkSimpleDialog 
import tkMessageBox 
from tkFileDialog import * 

#FSR 
def fsr(): 
    while True: 
     tkMessageBox.showinfo("Open", "Select Feedback file") 
     filename1 = askopenfilename(filetypes=[("Excel worksheets","*.xls")]) 
     if filename1: 
      break 
     tkMessageBox.showerror('Error', 'All files must be uploaded') 

    wb1 = open_workbook(filename1) 
    sheet1 = wb1.sheet_by_index(0) 
    batch = [] 
    print "****" 
    for row in range(sheet1.nrows): 
     if(row!=0): 
      batch.append(sheet1.cell(row,16).value) 
      print "****" 

top = Tkinter.Tk() 
B1 = Tkinter.Button(top, text="Details upload", command=fsr) 
B1.pack() 
top.mainloop()