2015-06-01 4 views
0

My app is in VB.Net. У меня есть текстовое поле. Пользователь записывает фрагмент кода инициализации кода Python. Я хочу запустить этот код. Например, код в текстовом поле что-то вроде этого:Результат выполненного кода

print 7*7 

результата выполнения этого кода в Python является 49. Но если пользователь забывает пространство и пишет:

print7*7 

результат выполнения этого кода в Python является:

Traceback (most recent call last): 
    File "vm_main.py", line 33, in <module> 
    import main 
    File "/tmp/vmuser_jrlbqyaetu/main.py", line 8, in <module> 
    print7*7 
NameError: name 'print7' is not defined 

Теперь я хочу, чтобы сохранить результат выполнения кода (ошибка или исправить данные) в строке в VB.Net. Вопросы:

  1. Каков тип данных результата запуска кода?
  2. Доступно ли к нему доступ?
  3. Можно ли его сохранить? Можно ли сохранить его в строке? Если да, то как?
+0

Результат вызова печати зависит от того, что подключен к 'sys.stdout'. –

+0

Вы можете взглянуть на этот вопрос: http://stackoverflow.com/questions/13807860/execute-python-script-from-vb-net – Nate222

ответ

0

Вы можете попробовать это:

import sys 
f = open('output.txt', 'w') 
sys.stdout = f 
############### 
#your code here 
############## 

И чем все выходы будут записаны в ouput?txt