gpt4 book ai didi

Python - 奇怪的无效语法错误

转载 作者:行者123 更新时间:2023-12-03 08:14:26 24 4
gpt4 key购买 nike

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我正在尝试使用执行一些基本操作的客户端运行一个简单的 RPC 服务器。一切似乎都已正确编写,但尝试运行客户端会产生一个无效的语法错误,如下所示:

$ python rpcClient.py
File "rpcClient.py", line 9


^
SyntaxError: invalid syntax

这是 rpcClient.py 文件:
import xmlrpclib

proxy = xmlrpclib.ServerProxy("http://localhost:7999/")
print "3 is even: %s" % str(proxy.is_even(3))
print "100 is even: %s" % str(proxy.is_even(100))
proxy.printString("Testing")
proxy.doubleList([1, 2, 4, 8])
print "Sum of all numbers from 1 to 5: %s" % str(proxy.sumList([1, 2, 3, 4])

我很确定服务器文件不是问题,但以防万一,这是 rpcServer.py:
import xmlrpclib
from SimpleXMLRPCServer import SimpleXMLRPCServer

def is_even(n):
return n%2 == 0

def printString(s):
print s
return

def doubleList(l):
for i in range(l):
l[i] = l[i]*2
print l[i]
return

def sumList(l):
s = sum(l)
return s

server = SimpleXMLRPCServer(("localhost", 7999))
print "Listening on port 7999..."
server.register_function(is_even, "is_even")
server.register_function(printString, "printString")
server.register_function(doubleList, "doubleList")
server.register_function(sumList, "sumList")
server.serve_forever()

知道问题是什么吗?我尝试反复运行客户端,但每次都遇到上面提到的相同错误。

最佳答案

您在最后一行缺少右括号:

print "Sum of all numbers from 1 to 5: %s" % str(proxy.sumList([1, 2, 3, 4])
# ----^ -----^

然后 Python 到达下一行,空的,并且想知道缺少的右括号去了哪里。

请注意 %s占位符已调用 str()在您的插值上,您不需要调用 str()在这里明确。相反,将值包装在一个元组中,这样即使从 proxy.is_even() 返回一个元组,它也只会被解释为一个要插值的值。 :
print "3 is even: %s" % (proxy.is_even(3),)
print "100 is even: %s" % (proxy.is_even(100),)
# ..
print "Sum of all numbers from 1 to 5: %s" % (proxy.sumList([1, 2, 3, 4]),)

就个人而言,我更喜欢更新的 str.format() :
print "3 is even: {}".format(proxy.is_even(3))
print "100 is even: {}".format(proxy.is_even(100))
# ..
print "Sum of all numbers from 1 to 5: {}".format(proxy.sumList([1, 2, 3, 4]))

关于Python - 奇怪的无效语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23301483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com