更改Python Flas列表中的字符

2024-09-29 18:42:56 发布

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

下面是我相对简单的代码:

@app.route("/[<string:pfade>]")
def testaufruf(pfade):

   s=list(pfade)

   part = [i for i,x in enumerate(s) if x=="$"]

   print(part)

   s[part]="\\"

   print(part)

我的问题是我想传递127.0.0.1:5000/[Test$path1]

现在我把这个Test$path1列成一个列表,用\替换每个$

这些线路工作:

s=list(pfade)

part = [i for i,x in enumerate(s) if x=="$"]

print(part)

他们还给我$所在的位置,但替换$的第二部分不起作用。我确实找了很多,但找不到解决这个问题的办法。你知道吗

提前谢谢你的帮助。你知道吗


Tags: 代码intestappforstringifdef
3条回答

字符串具有replace方法:

part = pfade.replace('$', '\\')

注意\重复用于转义。你知道吗

所以这是一个非常简单的解决方法:

而不是使用part = [i for i,x in enumerate(s) if x=="$"]

我刚用过:part = s.index("$", 0)

than s[part] = "\\"$替换为"\"

这行将返回一个整数列表

part = [i for i,x in enumerate(s) if x=="$"]

如果您只是试图用一个列表来索引s,您将面临以下错误

TypeError: list indices must be integers or slices, not list.

要解决此问题:

parts = [i for i,x in enumerate(s) if x=="$"]
for part in parts:
    s[part] = '\\'

print(s)

相关问题 更多 >

    热门问题