子进程命令中出现python错误

子进程命令中出现python错误,python,subprocess,dnssec,Python,Subprocess,Dnssec,我试图执行一个子流程,在我的脚本中做了几次。但在最后一个例子中,它输出了一个我无法找到解决方案的错误。 使用在命令行中生成的相同文件执行完全相同的命令效果很好 有问题的代码行: 脚本输出 在命令行进行签名: 如何通过Python正确执行dnssec signzone 用于完成代码的url将“echo”添加为给定给子流程.call()的数组中的第一个元素,以便它打印出您尝试执行的命令(无论如何,在本例中),并将其与您手动执行的命令进行比较。它们是一样的吗?(提示:否)它看起来像是一个简单的打字错误

我试图执行一个子流程,在我的脚本中做了几次。但在最后一个例子中,它输出了一个我无法找到解决方案的错误。 使用在命令行中生成的相同文件执行完全相同的命令效果很好

有问题的代码行: 脚本输出 在命令行进行签名: 如何通过Python正确执行dnssec signzone


用于完成代码的url

将“echo”添加为给定给
子流程.call()
的数组中的第一个元素,以便它打印出您尝试执行的命令(无论如何,在本例中),并将其与您手动执行的命令进行比较。它们是一样的吗?(提示:否)它看起来像是一个简单的打字错误:将
“-g”、“-code>替换为
“-g”、“-k”
。我没有检查是否还有其他不同。@J.F.Sebastian我真的以为会是这样。在-k->sfmove=subprocess.call([“dnssec signzone”、“-e”+strftime(“%Y%m%d%H”,gmtime())+“0000”、“-p”、“-t”、“-g”、“-k”、“k”+name+”.ksk.key”、“-o”、name、name+”.external、“k”+name+“.zsk.key”])中出现相同错误。请尝试工作命令(从shell复制粘贴并运行:
检查调用(shlex.split(cmd))
@J.F.Sebastian我想你发现了这个问题,但不知道如何解决。看起来好像我的变量被忽略了,并被当作字符串处理。我查找了计算错误的引号,然后切换到单引号。同一个字符串问题
sfmove = subprocess.call(["dnssec-signzone","-e",strftime("%Y%m%d%H", gmtime())+"0000","-p","-t","-g","-","K"+name+".ksk.key","-o",name,name+".external","K"+name+".zsk.key"])
# python3.4 makekeys.py
Enter the domain to configure keys for? test123.com
Generating key pair....................................................................+++ ................................................................................+++
K
Generating key pair...........................................................+++ .................................................................................+++
K
dnssec-signzone: fatal: No self-signed KSK DNSKEY found.  Supply an active
key with the KSK flag set, or use '-P'.
dnssec-signzone -e20180330000000 -p -t -g -k Ktest123.com.ksk.key -o test123.com test123.com.external Ktest123.com.zsk.key
Verifying the zone using the following algorithms: RSASHA256.
Zone fully signed:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
                      ZSKs: 1 active, 0 stand-by, 0 revoked
test123.com.external.signed
Signatures generated:                        9
Signatures retained:                         0
Signatures dropped:                          0
Signatures successfully verified:            0
Signatures unsuccessfully verified:          0
Signing time in seconds:                 0.010
Signatures per second:                 875.401
Runtime in seconds:                      0.013