问题是当我们将列表传递给subprocess.Popen命令时。 通常,python会删除多余的斜杠,但在subprocess.Popen情况下不会删除。
我已经在python中创建了一个列表并添加了一个变量。
var1='--username=domain\username'
ls=[]
ls.append(var1)
print(ls)
输出:
['--username=domain\\username']
我不希望列表中有多余的反斜杠,因为当我将列表传递给subprocess.Popen模块时,读取用户名时遇到了问题。
答案 0 :(得分:1)
出现额外的反斜杠,因为代码将变量设置为等于字符串文字。对于表示斜杠的方式来说,这是一个转义符。
https://www.geeksforgeeks.org/str-vs-repr-in-python/
以下代码可能有助于理解示例中的情况:
var1='--username=domain\username'
ls=[]
ls.append(var1)
print(ls)
print(ls[0]) # the contents of the string literal
print(ls[0][16])
print(ls[0][17]) # only one slash after all
print(ls[0][18])