gpt4 book ai didi

python - 如何在 python 中打印变量名?

转载 作者:IT老高 更新时间:2023-10-28 21:44:03 26 4
gpt4 key购买 nike

假设我有一个名为 choice 的变量,它等于 2。我将如何访问该变量的名称?相当于

In [53]: namestr(choice)
Out[53]: 'choice'

用于制作字典。有一个很好的方法可以做到这一点,我只是想念它。

编辑:

这样做的原因是这样的。我正在运行一些数据分析的东西,我用多个参数调用程序,我想在运行时调整或不调整。我从格式为 .config 的文件中读取了上次运行时使用的参数

filename
no_sig_resonance.dat

mass_peak
700

choice
1,2,3

当提示输入值时,会显示之前使用的值,空字符串输入将使用之前使用的值。

我的问题是因为在编写这些值已被扫描到的字典时。如果需要参数,我运行 get_param 来访问文件并找到参数。

我想我可以通过读取 .config 文件一次并从中生成字典来避免这个问题。我最初避免这样做是出于……我不再记得的原因。完美的情况来更新我的代码!

最佳答案

如果你坚持,这里有一些可怕的基于检查的解决方案。

import inspect, re

def varname(p):
for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]:
m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line)
if m:
return m.group(1)

if __name__ == '__main__':
spam = 42
print varname(spam)

我希望它能激发您重新评估您遇到的问题并寻找另一种方法。

关于python - 如何在 python 中打印变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/592746/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com