如何从c sharp读取变量到python?

时间:2017-02-06 05:11:58

标签: c# python

我想从c sharp读取变量到python。

.cs文件

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

.py文件

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

当我运行我的python代码时,我想获得结果:

str: Hello world

2 个答案:

答案 0 :(得分: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

在这种情况下,我假设您的文件与python文件位于同一目录中,但如果没有,则可以更改路径变量。

答案 1 :(得分:0)

嗯,理想情况下,您希望使用足够聪明的解析器来了解C#。但你可以用正则表达式作弊,并使它适用于这个例子。

import re

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

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