2017-02-06 2 views
1

Я хочу прочитать переменную от c sharp в python.Как я могу прочитать переменную c c sharp в python?

.cs файл

class MyClass 
{  
    string str = "Hello world"; 
} 

файл .py

fp = open(path, 'r').read() 
#str = ??? 
print 'str: ' + str 

Когда я запускаю мой питон код, я хочу, чтобы получить результат:

str: Hello world 
+0

Использование readlines. + regex, чтобы найти нужную строку. – anupsabraham

ответ

1

Вы можете использовать регулярное выражение, и я настоятельно рекомендую использовать with, чтобы открыть файл, так как вы могли бы сэкономить несколько строк кода при закрытии файла.

import re 
path = 'my_file.cs' 
var_name = 'str' 
with open(path) as f: 
    for line in f: 
     match = re.search(r'{} = "(.*?)"'.format(var_name), line) 
     if match: 
      print('{}: {}'.format(var_name, match.group(1))) 

Выход:

str: Hello world 

В этом случае, я предполагаю, что файл находится в том же каталоге, что и файл питона, но вы можете изменить переменную пути, если нет.

+0

Thx. Но я хочу использовать другой каталог –

0

Ну, в идеале вы бы хотели использовать синтаксический анализатор достаточно знать C#. Но вы можете немного обмануть регулярное выражение и заставить его работать для этого примера.

import re 

fp = open(path, 'r').read() 
match = re.search(r'str = "(.*?)"', fp) 

print("Str: %s" % match.group(1)) 
+0

этот код возвращает ошибку: AttributeError: объект «NoneType» не имеет атрибута «group» –

Смежные вопросы