Python f字符串表达式中的类型错误-';str';对象不可调用
在Python3.7中,当我尝试使用f-string语法编写字符串时,出现了一个错误 我的代码如下:Python f字符串表达式中的类型错误-';str';对象不可调用,python,python-3.x,string,typeerror,f-string,Python,Python 3.x,String,Typeerror,F String,在Python3.7中,当我尝试使用f-string语法编写字符串时,出现了一个错误 我的代码如下: i = 1 site_id= 0 meter = 0 model_id = i target_name = 'log1p_meter_reading_corrected2' f'model_site_id_{str(site_id)}_meter_{str(meter)}_{target_name}_model_id_{str(model_id)}_11_12_19.hdf5' 返回错误:
i = 1
site_id= 0
meter = 0
model_id = i
target_name = 'log1p_meter_reading_corrected2'
f'model_site_id_{str(site_id)}_meter_{str(meter)}_{target_name}_model_id_{str(model_id)}_11_12_19.hdf5'
返回错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-68-1ebe1c78d868> in <module>
6 target_name = 'log1p_meter_reading_corrected2'
7
----> 8 f'model_site_id_{str(site_id)}_meter_{str(meter)}_{target_name}_model_id_{str(model_id)}_11_12_19.hdf5'
TypeError: 'str' object is not callable
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
6目标\u名称='log1p\u仪表\u读数\u校正2'
7.
---->8 f'model_site_id{str(site_id)}meter{str(meter)}{target_name}model_id{str(model_id)}11_12_19.hdf5'
TypeError:“str”对象不可调用
是什么导致了错误以及我应该如何更正代码?在中,您不需要使用str()
包装变量。以下方面应起作用:
f'model_site_id_{site_id}_meter_{meter}_{target_name}_model_id_{model_id}_11_12_19.hdf5'
但是,您的代码在技术上应该可以正常工作,str()
调用只是多余的-您可能在某个时候通过执行以下操作重新分配了保留关键字str
:
str = 'test'
现在,如果我们这样做
>>> str(site_id)
我们得到
TypeError: 'str' object is not callable