2016-07-22 4 views
0

Я пишу gui для ironpython, и я пытаюсь создать текстовый файл, который пользователь может назвать в текстовом поле. Текстовый файл используется, чтобы дать мне скрипт python из векторного файла. Любые предложенияПопытка получить ironpython для создания текстового файла, в котором я могу хранить информацию в

+0

Добро пожаловать на StackOverflow! Что ты уже испробовал ? – Fabich

+0

Спасибо. Я попытался использовать SafeFileDialog() и Spotfire (http://stackoverflow.com/questions/32243732/output-spotfire-print-to-text-file). – Cian

ответ

0

С Ниже я был в состоянии создать файл с IronPython

ScriptEngine m_engine = Python.CreateEngine(); 
ScriptScope m_scope = m_engine.CreateScope(); 
String code = @"file = open('myfile.txt', 'w+')"; 
ScriptSource source = m_engine.CreateScriptSourceFromString(code, SourceCodeKind.SingleStatement); 
source.Execute(m_scope); 

Вот Python documentation о w+. Он открывает файл для записи, сначала обрезая файл.

Так что я думаю, вам просто нужно, чтобы вставить имя файла в сценарии ...

+0

Спасибо. Это работает сейчас – Cian

+0

Не могли бы вы отметить вопрос как ответ? Благодаря! –

0

Я расклеивание код, который работал для меня, когда я писал в питона. Надеюсь, поможет.

def on_save_as(self, sender, e): 

    dlg = SaveFileDialog() 
    dlg.Filter = "Text File (*.txt)|*.txt" 
    dlg.Title = "SaveFile" 
    if dlg.ShowDialog(): 
     self.save_file(dlg.FileName) 

def save_file(self, filename): 
    sw = StreamWriter(filename) 
    try: 
     buf = self.textbox.Text 
     sw.Write(buf) 
     self.statusbar_item.Content = Path.GetFileName(filename) 
     self.openfile = filename 
    except Exception, ex: 
     MessageBox.Show(ex.Message) 
    finally: 
     sw.Close()