title: how to write and save into a text file from TextInput using kivy
body: <p>I would like to get text entered in the TextInput widget to save it into a textfile. Please somebody show me an example how to get values entered in TextInput widget to save it into a text file.    </p>
  
  <pre><code>from kivy.app import App
  from kivy.lang import Builder
  from kivy.uix.screenmanager import ScreenManager, Screen
  from kivy.uix.label import Label
  from kivy.uix.textinput import TextInput
  import os
  </code></pre>
  
  <h1>This method was a try to save into a text file but it didn't work</h1>
  
  <pre><code>def save(self,nam):
      fob = open('c:/test.txt','w')
      write =    fob.write(str(name))
  
  
  Builder.load_string('''
  &lt;MenuScreen&gt;:
      BoxLayout:
          Button:
              text: 'Add New Staff'
              on_press: root.manager.current = 'add_staff'
          Button:
              text: 'View Staff Profile'
          Button:
              text: 'Salary report'
  
  &lt;Add_new_staff&gt;:
      nam: str(name_input)
      job: job_input
      GridLayout:
          cols: 2 
          Label:
              text: 'Name'
          TextInput:
              id: name_input
              multiline: False
          Label:
              text: 'Job'
          TextInput:
              id: job_input
          Label:
              text: 'Salary'
          TextInput:
          Label:
              text: 'Date of Joining'
          TextInput:
          Button:
              text: 'Back to menu'
              on_press: root.manager.current = 'menu'
          Button:
              text: 'Save'
              on_press: app.save(self,nam)
  ''')
  
  
  class MenuScreen(Screen):
      pass
  
  class Add_new_staff(Screen):
      pass
  
  sm = ScreenManager()
  sm.add_widget(MenuScreen(name='menu'))
  sm.add_widget(Add_new_staff(name='add_staff'))
  
  class TestApp(App):
      def build(self):
          return sm
  
  
  
  if __name__ == '__main__':
      TestApp().run()
  </code></pre>