我正在尝试将variable.def作为字符串读取。
et.def?
Type: str
String form: total energy
Length: 12
Docstring:
str(object='') -> string
当我尝试访问它时:
et.def
File "<ipython-input-60-028014709411>", line 1
et.def
^
SyntaxError: invalid syntax
失败,因为Python将.def视为函数定义。有没有办法获得字符串部分?
答案 0 :(得分:1)
Python语法包含几个保留字,它们看起来像标识符但不能这样使用 - 包括def
(以及class
,{ {1}}和其他几个人。)
要访问使用此类标识符作为标识符的数据(无疑是从外部源构建的?)(例如,在您的情况下,显然是作为任何对象的if
表示的属性名称) ,内置函数et
,getattr
和&amp; c,它们接受属性名称作为字符串(而不是像普通内联语法那样作为标识符),派上用场(就像属性名称在变量中时一样)。
所以,在这种情况下,
setattr
应该可以帮助您访问该属性的值。