我对蟒蛇很陌生。这学期我上了一门生物信息学课程,在我的最后一个项目中,我想创建一个应用程序,我们可以在我的实验室里使用它。我已经在PyCharm中创建和测试了实际的程序,但是我希望将它与GUI集成起来,并创建一个可执行文件,这样任何人都可以不用打开IDE就可以使用它。
到目前为止,我有一个简单的框架,有一个按钮,可以获取输入文件的路径。我想走这条路,把它插入到我已经存在的代码中。来自wxGlade代码,嵌套在class MyFrame(wx.Frame):下:
def OnOpenFileDialog(self, event): # wxGlade: MyFrame.<event_handler>
dlg = wx.FileDialog(self, message="Choose a file")
if dlg.ShowModal() ==wx.ID_OK:
f = dlg.GetPath()
filename_input = re.sub("\\\\", "/", f)
dlg.Destroy() 我想把filename_input放在这里:
columns = defaultdict(list) # each value in each column is appended to a list
with open(filename_input) as file_object: # open the file
reader = csv.DictReader(file_object, delimiter='\t') # assign the file reader
for row in reader: # read a row as {column1: value1, column2: value2,...}
for (k,v) in row.items(): # for each column (position) and value (residue)
if v != '': # if the value isn't blank
columns[k].append(v) # append the residue to a list for that position但是,似乎OnOpenFileDialog块中定义的任何内容都只存在于该块中。那么,我应该如何将代码集成到GUI中呢?我觉得把它贴在def OnOpenFileDialog下面是非常丑陋和糟糕的。我真的不知道从哪里开始。对不起,如果这个问题混淆了,我会尽量澄清是否需要。谢谢
发布于 2018-01-20 13:36:38
定义一个方法read_file(filename)并从OnOpenFileDialog内部调用它
https://stackoverflow.com/questions/47837339
复制相似问题