我想从c sharp读取变量到python。
.cs文件
class MyClass
{
string str = "Hello world";
}
.py文件
fp = open(path, 'r').read()
#str = ???
print 'str: ' + str
当我运行我的python代码时,我想获得结果:
str: Hello world
答案 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))