gpt4 book ai didi

python-3.3 - 如何从环境变量中删除自动转义?

转载 作者:行者123 更新时间:2023-12-05 01:21:04 25 4
gpt4 key购买 nike

在 settings.py 中,我从这样的环境中获取 var:

ROBOTS_STR = os.environ.get('DJANGO_ROBOTS_STR')

我的环境变量设置在一个文件中,看起来像:

DJANGO_ROBOTS_STR=User-agent: *\nDisallow: /admin\nDisallow: /api

问题是在 View 中,当我获取 settings.ROBOTS_STR 时,字符串的值已被自动转义。它是:User-agent: *\\nDisallow:/admin\\nDisallow:/api

我怎样才能改变这种行为?请注意,我使用的是 Python 3.3

最佳答案

string-escape解码:

>>> os.environ.get('DJANGO_ROBOTS_STR')
'User-agent: *\\nDisallow: /admin\\nDisallow: /api'
>>> os.environ.get('DJANGO_ROBOTS_STR').decode('string-escape')
'User-agent: *\nDisallow: /admin\nDisallow: /api'
>>> print(os.environ.get('DJANGO_ROBOTS_STR'))
User-agent: *\nDisallow: /admin\nDisallow: /api
>>> print(os.environ.get('DJANGO_ROBOTS_STR').decode('string-escape'))
User-agent: *
Disallow: /admin
Disallow: /api

对于 Python 3,先编码,再解码:

>>> os.environ.get('DJANGO_ROBOTS_STR').encode('latin1').decode('unicode_escape')
'User-agent: *\nDisallow: /admin\nDisallow: /api'

关于python-3.3 - 如何从环境变量中删除自动转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152812/

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