我有这个代码:
import tempfile
def tmp_me():
tmp = tempfile.NamedTemporaryFile()
tmp1 = tempfile.NamedTemporaryFile()
lst = [tmp.name, tmp1.name]
return lst
def exit_dialog():
lst = tmp_me()
print lst
import filecmp
eq = filecmp.cmp(lst[0],lst[1])
print eq
exit_dialog()
Run Code Online (Sandbox Code Playgroud)
我需要比较这2个临时文件,但我总是得到这样的错误:
WindowsError: [Error 2] : 'c:\\users\\Saul_Tigh\\appdata\\local\\temp\\tmpbkpmeq'
Run Code Online (Sandbox Code Playgroud) 有我的问题:我试图通过这种方式从Tkinter的文本小部件中获取所有数字(从文件中获取文本):
text = self.text_field.get(1.0, 'end')
s = re.findall("\d+", text)
Run Code Online (Sandbox Code Playgroud)
s返回如下内容:
[u'0', u'15', u'320', u'235', u'1', u'1', u'150', u'50', u'2', u'2', u'20']
Run Code Online (Sandbox Code Playgroud)
比我尝试向文本小部件添加标签:
for i in s: self.text_field.tag_add('%s', '5.0', '6.0') %s[i]
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:
list indices must be integers, not unicode
Run Code Online (Sandbox Code Playgroud)
thanx帮助我:)
我正在尝试在标签的帮助下以这种方式为 Tkinter 文本小部件中的文本着色:
text = self.text_field.get(1.0, 'end') #text_field is a text widget
s = re.findall("\d+", text)
for i in s:
self.text_field.tag_add(i, '1.0', 'end')
self.text_field.tag_configure(i, background='yellow',
font='helvetica 14 bold', relief='raised')
Run Code Online (Sandbox Code Playgroud)
这个想法是所有标签都是动态创建的,因为我从文本小部件获取数字并且它们可以具有任意长度。此代码为小部件中的所有文本着色,但我只需要对数字进行着色。
有什么建议么?
我有这样的事情:
from Tkinter import *
root = Tk()
root.title("Test")
def _quit():
root.destroy()
m = Menu(root)
root.config(menu=m)
fm = Menu(m, tearoff=0)
m.add_cascade(label="File", menu=fm)
fm.add_command(label="Quit", command=_quit, accelerator='Ctrl+Q')
root.bind('<Control-Q>', _quit())
root.bind('<Control-q>', _quit())
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我的问题是:
"为什么_quit()总是被召唤?"