我需要将以下用户登录传递给bash子进程命令,但是当它通过它时返回为" domain \ test"而不是一个反斜杠。但是当我打印它时,它将作为一个单独返回。
usr = "domain\\"
u = "test"
usrLogin = ''.join([usr,u])
我尝试过以下分配usr的变体:
usr = "domain\\"
usr = 'domain\\'
usr = r'domain\'
usr = r"domain\\"
usr = str(r('domain\\'))
该字符串将传递给以下命令: subprocess.call([" chown"," -R",usrLogin,usrLocation])
我需要的输出是:
domain\test
但是目前,当它被传递给子进程调用时,它显示为:
domain\\usr
然而,当我打印时,它只显示1个反斜杠:
print('usrLogin)
domain\test
编辑:对不起,我已经添加了更多有希望帮助的细节。
答案 0 :(得分:1)
usr =“domain \\”
\
是转义字符,所以你要使用四个斜杠来获得两个。
答案 1 :(得分:0)
就像Van Peer已经说过反斜杠是第二个反斜杠的转义字符。因此\\
会产生\
。
如果您希望使用双反斜杠,则需要编写\\\\
。