python 3 如何将多维数组数据发送到 subprocess.call()
python 3 How do I send multidimentional array data to a subprocess.call()
我有一个shell命令,我需要发送一个多维数组作为参数。
subprocess.call(['rndc', 'addzone', domain, 'in', 'external', '"{type master; auto-dnssec maintain; inline-signing yes; key-directory \"/home/ex-mailer-domains/domain.com/\"; file \"/home/ex-mailer-domains/domain.com/domain.com.external\"; update-policy { grant ddns-key zonesub ANY; };};"'
subprocess.call(['rndc', 'loadkeys', domain])
我收到的错误:
[\u@yoda:/usr/local/etc/namedb] # python3.4 makedomain3.py mylabel domain.com 108.61.169.203 255.255.254.0 2001:19f0:5800:8561:5400:00ff:fe07:cae5 1
File "makecustdomain3.py", line 249
subprocess.call(['rndc', 'loadkeys', domain])
^
SyntaxError: invalid syntax
shell中的实际命令:
rndc addzone domain.com in external '{type master; auto-dnssec maintain; inline-signing yes; key-directory "/home/ex-mailer-domains/domain.com/"; file "/home/ex-mailer-domains/nyctelecomm2.com/domain.com.external"; update-policy { grant ddns-key zonesub ANY; };};'
rndc loadkeys domain.com
如何正确地将多维数组数据作为参数传递给 python3 中的 subprocess.call()?
我认为您未能关闭之前的通话。您发布的第一个调用以 "' 结尾;这些关闭了结构字符串,但您仍然需要右括号和右括号。
解析器在以下标记的末尾检测到这一点;从句法上讲,它应该看到右括号或另一个逗号。
我有一个shell命令,我需要发送一个多维数组作为参数。
subprocess.call(['rndc', 'addzone', domain, 'in', 'external', '"{type master; auto-dnssec maintain; inline-signing yes; key-directory \"/home/ex-mailer-domains/domain.com/\"; file \"/home/ex-mailer-domains/domain.com/domain.com.external\"; update-policy { grant ddns-key zonesub ANY; };};"'
subprocess.call(['rndc', 'loadkeys', domain])
我收到的错误:
[\u@yoda:/usr/local/etc/namedb] # python3.4 makedomain3.py mylabel domain.com 108.61.169.203 255.255.254.0 2001:19f0:5800:8561:5400:00ff:fe07:cae5 1
File "makecustdomain3.py", line 249
subprocess.call(['rndc', 'loadkeys', domain])
^
SyntaxError: invalid syntax
shell中的实际命令:
rndc addzone domain.com in external '{type master; auto-dnssec maintain; inline-signing yes; key-directory "/home/ex-mailer-domains/domain.com/"; file "/home/ex-mailer-domains/nyctelecomm2.com/domain.com.external"; update-policy { grant ddns-key zonesub ANY; };};'
rndc loadkeys domain.com
如何正确地将多维数组数据作为参数传递给 python3 中的 subprocess.call()?
我认为您未能关闭之前的通话。您发布的第一个调用以 "' 结尾;这些关闭了结构字符串,但您仍然需要右括号和右括号。
解析器在以下标记的末尾检测到这一点;从句法上讲,它应该看到右括号或另一个逗号。