0

我对python很陌生。这学期我参加了生物信息学课程,在我的期末项目中,我想创建一个我们将来可以在我的实验室中使用的应用程序。我已经在 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会非常丑陋和糟糕。我真的不知道从哪里开始。抱歉,如果这个问题令人困惑,我会尽量澄清是否需要。谢谢

4

1 回答 1

1

定义一个方法read_file(filename)并从内部调用它OnOpenFileDialog

于 2018-01-20T13:36:38.657 回答