我的Python代码是:
import os
targetdir = os.getenv('APPDATA')
command = "elev.cmd {0}\data\nssm.exe install service {1}\data\service.exe".format(targetdir,targetdir)
os.system(command)
我完全可以使用os.system
。 elev.cmd
生成 UAC 对话框并提升并执行传递给它的所有内容。
但我怀疑参数是分两行传递给命令的。
命令行字符串在一行中传递不完全的原因是什么?
最佳答案
是的,您没有正确转义命令字符串,因此 \
被解释为转义字符,因此 \n
将被解释为换行符,而不是 \
后跟 n
。
在字符串前添加 r
使其成为原始字符串,这样 \
就不会充当转义字符。
command = r"elev.cmd {0}\data\nssm.exe install service {1}\data\service.exe".format(targetdir,targetdir)
关于python - 为什么命令字符串没有完全从 Python 传递到系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32158470/