我正在尝试使用python脚本中的用户输入创建centos7a网络团队(bonding)。C级
import socket
# IP Address
IPADDR = socket.gethostbyname(socket.gethostname())
print IPADDR
# Netmask
NETMASK = raw_input("Enter Netmask address: ")
PREFIX = sum([bin(int(x)).count("1") for x in NETMASK.split(".")])
print NETMASK
# Gateway
GATEWAY = raw_input("Enter Gateway address: ")
print GATEWAY
# Run command and substitution
os.system("nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name": "activebackup"}}'")
os.system("nmcli con mod team0 ipv4.addresses IPDDR/PREFIX")
os.system("nmcli con mod team0 ipv4.gateway GATEWAY")
os.system("nmcli con mod team0 connection.autoconnect yes")
os.system("nmcli con mod team0 ipv4.method manual")
os.system("nmcli con mod team0 ipv6.method ignore")
运行脚本时,会出现以下错误:
File "team0.py", line 16
os.system("nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name": "activebackup"}}'")
^
SyntaxError: invalid syntax
有人能帮我找出我做错了什么吗。 谢谢
出现语法错误是因为没有转义引号
"
字符。解释器认为字符串已经结束,然后跳闸。你知道吗可以使用反斜杠
\
来转义引号:此外,请注意,当您声明的变量以字符串文字声明时,它们不会被拾取。您需要使用^{} 修改这些命令,例如:
有关如何使用
format
的更多信息,请参阅上述文档和其他SO问题。你知道吗确实终止了字符串,如文本的颜色所示。它从nmcli开始。使用一对双引号将它们作为外部字符串中的文字。你知道吗
。。。等等。或者,将字典值放入变量中,稍后将其附加到较大的字符串中:
相关问题 更多 >
编程相关推荐