すべての出力ファイルを指定したディレクトリに吐き出すようにする

ユーザがGUIを操作して、その結果出力されるファイルが大量にある場合に、ユーザが事前に指定するディレクトリにまとめて置くようにすると便利だ。

wxDirDialogを使えば選択の他に、新しくディレクトリを作成することもできる。選択したディレクトリのパスは Dlg.GetPath()で取り出す。

        Dlg = wx.DirDialog(self, message='Please choose a directory or make\
a new directory for this project')
        AnsBtn = Dlg.ShowModal()
        self.ProjPath = Dlg.GetPath()
  • フルパスの作成(出力ファイル名の前にディレクトリのパスをくっつけてフルパスとする)

これをすべてのファイルに対して自動的に行うようにする。

    import os

    filepath = os.path.join(self.ProjPath, 'output.txt')
    parmfile = open(filepath, 'w')
  • 出力ファイルへの書き込み
    リストlinesは事前に作成しておく
    parmfile.writelines(lines)
    parmfile.close()