我发送复杂的命令,消息,以及os.system的原因。在使用引号发送URL时遇到了障碍,代替了也使用了撇号的命令结构。我尝试过格式化,原始,unicode,concat,写出来,转义,在某些字符串上使用引号或撇号,无论我做什么,python都会在我的新字符串中添加魔术“\”转义字符串,在使用bash命令时语法错误。
com1 = 'command -X ARG '
url1 = '"https://big-long.webaddress.com/folder/151515-15151-515151blah?token=ABC123"'
com2 = " -H \"DATA-TYPE:app/data\" --flag '{\"Stuff\":\""
message = 'This is a test message'
com3 = "\"}'"
newstr = com1 + url1 + com2 + message + com3
打印:
'command -X ARG“https://big-long.webaddress.com/folder/151515-15151-515151blah?token=ABC123”-H“DATA-TYPE:app / data”--flag \'{“Stuff”:“这是测试消息”} \''
变量com2和com3由于某种原因逃避了撇号,但实际上写了“\”字符。
我实际上可以连接两个很好的字符串,完成后,打印出魔术“\”转义字符。
v1 = "'Stuff'"
v2 = '"Stuff"'
v1+v2
打印:'\'Stuff \'“Stuff”'
即使在v1中转义'也会产生相同的结果。
打印魔术转义字符究竟发生了什么,我需要做些什么来正确混合和混合引号和撇号?我需要向系统发送命令,并找到关于魔法\的文档,这导致我无处可去。提前谢谢。
我将字符串发送到os.system(),因为它实际上是在linux bash中运行的curl脚本。
"command -X ARG %s -H \"DATA-TYPE:app/data\" --flag '{\"Stuff\":\"%s\"}'" % (url1,message)
还会在撇号上发送其他\字符......