无法使用fstring将字符串转换为自定义字符串

2024-09-28 22:19:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用一些值动态创建参数,所以我尝试使用f字符串。然而,我无法实现我所期望的

如果我使用以下值:

lat = '13715482'
lon = '6320767'
some_id = '7783' 

在以下参数中:

parameter = {'lat':f'{lat}','lon':f'{lon}','spatRef':{'spat_id':f'{some_id}'}}

我得到如下输出:

{'lat': '13715482', 'lon': '6320767', 'spatRef': {'spat_id': '7783'}}

然而,我想得到的是(notice the two double quotes around the whole string):

"{'lat': '13715482', 'lon': '6320767', 'spatRef': {'spat_id': '7783'}}"

我怎样才能得到它?


Tags: the字符串id参数parametersomequotesnotice
2条回答

您需要打印的字符串的内部表示,为此,我们可以使用repr函数

lat = '13715482'
lon = '6320767'
some_id = '7783' 
parameter = {'lat':f'{lat}','lon':f'{lon}','spatRef':{'spat_id':f'{some_id}'}}
print(repr(str(parameter)))

输出

C:\Users\albin\Documents\codebase> python3 test.py
"{'lat': '13715482', 'lon': '6320767', 'spatRef': {'spat_id': '7783'}}"

我想你在找^{}

lat = '13715482'
lon = '6320767'
some_id = '7783'

parameter = str({'lat':lat,'lon':lon,'spatRef':{'spat_id':some_id}})

若要在其周围使用引号,您可以使用:

print(f'{parameter!r}')
>>> "{'lat': '13715482', 'lon': '6320767', 'spatRef': {'spat_id': '7783'}}"

这将使用字符串的__repr__

相关问题 更多 >