我有一个小脚本,它计算一个文件中有多少个单词,以及一个单词重复了多少次。我想在wxPython中做一个图形用户界面,我可以在其中输入文件名,它会显示结果。
我一直在研究wxPython示例,但仍然没有掌握它的诀窍。这是脚本
#!/usr/bin/env python
import sys
import os
import re
import operator
if len(sys.argv) == 1:
sys.exit("Usage: "+sys.argv[0]+" files...");
line = sys.argv[1:]
num = 0
dic = {}
for i in line:
dat = open(i, "r").read()
words = re.findall(r'[a-z]+',dat)
for word in words:
if len(word)>3:
num=num+1
if dic.has_key(word):
dic[word]=dic[word]+1
else:
dic[word]=1
print num
sorted_dic = sorted(dic.iteritems(), key=operator.itemgetter(1), reverse=True)
print sorted_dic
发布于 2013-04-17 13:27:13
看看wx.FileDialog,你就可以开始使用它了。这里有一个关于所有标准对话框的教程,包括文件对话框:http://www.blog.pythonlibrary.org/2010/06/26/the-dialogs-of-wxpython-part-1-of-2/ (向下滚动大约一半)。
现在,您可能会打开带有某种按钮的文件对话框。因此,您将按钮绑定到EVT_BUTTON,并在事件处理程序中打开文件对话框。如下所示:
myButton.Bind(wx.EVT_BUTTON, self.openFileDialog)
现在,在您的openFileDialog (事件处理程序)方法中,您可以打开对话框并检索路径。此时,将路径传递给已编写的代码,该路径可以是事件处理程序的一部分,也可以将其放入自己的方法中。然后,当您获得结果时,您可能希望将其显示在wx.StaticText小部件或wx.MessageBox中
发布于 2013-04-17 02:47:53
不清楚你的问题是什么,GUI的哪一部分(这里没有显示)你遇到了问题?请查看tkinter,而不是wxPython。尽管wxPython具有类似的功能,但在tkinter中,您可以使用tkFileDialog并获取要打开和解析的文件的文件路径。
我不想为你写出代码,但基本上,它需要:
https://stackoverflow.com/questions/16050061
复制相似问题