Python脚本不执行sysinternals命令

时间:2014-05-15 18:46:50

标签: python subprocess sysinternals

这是Invoke pstools in Python script

的后续行动

当我打开命令提示符并执行

D:\pstools\psloggedon.exe -l -x \\10.10.10.10

我得到了

DOMAIN\user

但是当我执行脚本时

import sys, subprocess, socket, string
import wmi, win32api, win32con



pst = subprocess.Popen(
        ["D:\pstools\psloggedon.exe", "-l", "-x", "\\10.10.10.10"],
        stdout = subprocess.PIPE,
        stderr = subprocess.PIPE
    )

out, error = pst.communicate()


print out, "is output"

我得到了

Error opening HKEY_USERS for \10.10.10.10
is output

如何让子进程读取IP地址为\ 10.10.10.10而不是\ 10.10.10.10

顺便说一句,我试图添加第三个反斜杠

pst = subprocess.Popen(
        ["D:\pstools\psloggedon.exe", "-l", "-x", "\\\10.10.10.10"],
        stdout = subprocess.PIPE,
        stderr = subprocess.PIPE
    )

输出

Error opening HKEY_USERS for .0.139.40
is output

1 个答案:

答案 0 :(得分:1)

根据lejlot评论的建议,您必须使用" \\"因为" \"是python中的转义字符。