2016-07-12 16 views
0

私は作成したスクリプトの基本的なTUIを作成しています。目標は、ディレクトリとファイルへのパスを含むいくつかの変数を収集することです。私が確信していないのは、視覚的な側面を作り出した後、その情報をコードの他の部分とやり取りさせる方法です。Python、npyscreenで収集したデータを返す

以下は、視覚的な部分(他の部分は約500行です)のところで私が今までに持っていたことです。正直なところ、クラスの下に設定された変数と、ポインタは非常に高く評価されるだろう。

#!/usr/bin/env python 
# encoding: utf-8 

import npyscreen 

class PlistCreator(npyscreen.NPSApp): 
    def main(self): 
     screen = npyscreen.Form(name="Welcome to Nicks Playlist Creator!") 
     plistName = screen.add(npyscreen.TitleText, name="Playlist Name:") 
     csvPath = screen.add(npyscreen.TitleFilenameCombo, name="CSV Schedule:") 
     toaPath = screen.add(npyscreen.TitleFilenameCombo, name="Path to ToA Video Folder:", use_two_lines=True) 
     outputPath = screen.add(npyscreen.TitleFilenameCombo, name = "Output Folder:", use_two_lines=True) 
     dateOfAir = screen.add(npyscreen.TitleDateCombo, name="Date of Air:") 
     timeOfStart = screen.add(npyscreen.TitleText, name="Time of Air (TC):") 
     screen.edit() 

if __name__ == "__main__": 
    App = PlistCreator() 
    App.run() 
+0

docs [here](http://npyscreen.readthedocs.io/application-structure.html)をスキミングするだけで、 'App.plistName'、' App.csvpath'などのようなdsomethingは値を取得するために働きます入ってから? (それらを 'self 'にすべて割り当てる必要があるかもしれません、例えば' self.screen = ... ') – whrrgarbl

答えて

0

dit表記を使用して任意のフォームオブジェクトの値を取得できます。

plistName = screen.add(npyscreen.TitleText, name="Playlist Name:") 
playlist_name = self.screen.plistName.value 

などです。値の後にかっこはありません。いったん変数に入れたら、クラス内に別のメソッドを作成して情報を処理することができます。