为什么我在 python 字符串中得到一个反斜杠
Why I get a backslash in python string
我正在学习盲注sql。这是我脚本的一部分:
...
datas = {"username":"admin","password":"\'or pass like \"x%\" --"}
res = requests.post(url,data=datas).content
...
"password":
后面的字符串应该以单引号开头,所以打印的时候我希望是''or pass like "x%" --'
这样的东西(其实我不确定看到这个是否可以,python显然将双引号更改为单引号)。但是我得到 '\'or pass like "x%" --'
.
当您在 python 中编写字符串时,您可以选择 "write them with double quotes"
或 'write them with single quotes'
。您只需要转义与您用于字符串的引号相匹配的引号。因此,'This "is" a valid string'
,但要将这些双引号更改为单引号,'You \'need\' to do this'
。所以,在你的字符串中,你正确地转义了双引号,因为你有一个双引号字符串,但你不需要转义单引号。
不过,没关系,因为\'
仍然被python正确解释;它只是将其打印为转义字符,因此您知道它是字符 '
而不是字符串的结尾。
>>> "\'\""
'\'"'
>>> print("\'\"")
'"
我正在学习盲注sql。这是我脚本的一部分:
...
datas = {"username":"admin","password":"\'or pass like \"x%\" --"}
res = requests.post(url,data=datas).content
...
"password":
后面的字符串应该以单引号开头,所以打印的时候我希望是''or pass like "x%" --'
这样的东西(其实我不确定看到这个是否可以,python显然将双引号更改为单引号)。但是我得到 '\'or pass like "x%" --'
.
当您在 python 中编写字符串时,您可以选择 "write them with double quotes"
或 'write them with single quotes'
。您只需要转义与您用于字符串的引号相匹配的引号。因此,'This "is" a valid string'
,但要将这些双引号更改为单引号,'You \'need\' to do this'
。所以,在你的字符串中,你正确地转义了双引号,因为你有一个双引号字符串,但你不需要转义单引号。
不过,没关系,因为\'
仍然被python正确解释;它只是将其打印为转义字符,因此您知道它是字符 '
而不是字符串的结尾。
>>> "\'\""
'\'"'
>>> print("\'\"")
'"