gpt4 book ai didi

python - 以 IP 地址作为参数的函数调用

转载 作者:行者123 更新时间:2023-12-01 05:06:17 25 4
gpt4 key购买 nike

我正在开发一个检查文件传输进度的抓取工具,该抓取工具根据 IP 地址的 pickle 列表进行操作。文件完成后,我希望将 IP 地址从 IP 腌制列表中删除,并移至单独的腌制列表“完整”。

开始:

servers = {"10.10.10.1": "", "10.10.10.2": "", "10.10.10.3": ""}
skeys = servers.keys()
complete = []

def donewith(server):
if server in skeys:
complete.append("{0}".format(server))
servers.pop("{0}".format(server))
logging.info('Moved {0} to Complete list.'.format(server))
else:
logging.error('Unable to move \'{0}\' to Complete list.'.format(server))

期望的结果:

donewith(10.10.10.1)

servers = {"10.10.10.2": "", "10.10.10.3": ""}
complete = ["10.10.10.1"]

这就是我实际得到的。

donewith(10.10.10.1)
File "<stdin>", line 1
donewith(10.10.10.1)
^
SyntaxError: invalid syntax

或者用引号调用该函数会产生一个 TypeError 需要一个整数。不太确定如何解决这个问题,因为它看起来是一个简单的问题

报价解决方案详述:

def check(server):
#print "Checking {0}".format(server)
logging.info('Fetching {0}.'.format(server))
response = urllib2.urlopen("http://"+server+"/avicapture.html")
tall = response.read() # puts the data into a string
html = tall.rstrip()
match = re.search('.*In Progress \((.*)%\).*', html)
if match:
temp = match.group(1)
results = temp
servers[server] = temp
if int(temp) >= 98 and int(temp) <= 99:
abort(server)
alertmail(temp, server)
donewith(server)
logging.info('{0} completed.'.format(server))
return str(temp)
else:
logging.error('Unable to find progress for file on {0}.'.format(server))
return None

此函数调用 donewith() 函数,如果该函数带有引号,则该函数不起作用:donewith("server")

示例:

def check(server):
donewith("server")

def donewith(server)
do_things.

check(server)

结果是..

check(10.10.10.3)
^
SyntaxError: invalid syntax

第三组数字中始终带有零...

最佳答案

键是一个字符串。你应该这样做:

    donewith('10.10.10.1')

关于python - 以 IP 地址作为参数的函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24948502/

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