【问题标题】:Not printing anything on console不在控制台上打印任何内容
【发布时间】:2015-11-07 21:22:34
【问题描述】:
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 "****"

此代码 sn-p 不会在控制台上打印任何内容。打印“****”不起作用。而且,如果发出了 top.mainloop() ,则不会显示 tk 窗口。如何解决?

【问题讨论】:

  • 修正缩进。您的代码无法运行。
  • 实际代码中缩进是正确的。在这里复制时可能搞砸了。请告诉代码有什么问题。
  • 根据您的建议更正了缩进。请立即检查..
  • 您的打印声明对我有用。当然,在您销毁窗口之前它不会起作用,但在那之后它就可以正常工作了。您是否知道 mainloop 在小部件被销毁之前不会返回,因此在它返回之前不会运行任何代码?
  • 是的。我知道。但是如何使 mainloop() 函数之后编写的代码工作?我是 xlrd 和 Tinker 的新手。这就是为什么我无法理解。请帮忙。

标签: python python-2.7 tkinter xlrd xlwt


【解决方案1】:

将代码放入fsr,如下所示:

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()

【讨论】:

    猜你喜欢
    • 2018-07-06
    • 1970-01-01
    • 2021-11-16
    • 2018-05-17
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 2011-08-06
    相关资源
    最近更新 更多