我有一个将文件从一个服务器移动到另一个服务器的功能。该函数在执行时返回文件名,如果没有传输文件则返回False。
我想在循环上调用此函数,直到它返回False。每次调用函数时,我还需要访问返回的值(文件名)。我可以做其中一个但我无法做到这两个。这是我在伪代码中要完成的任务:
移动文件的功能(这不会改变):
def move_first_matching_file():
try:
# find the first file that matches a wildcard file name
# move the file from remote server to local server
# delete file from remote server
return name_of_file
except:
return False
在其他模块中调用上述函数(这需要工作):
while move_first_matching_file() as name_of_file is not False:
# process name_of_file
我需要完成上面的while循环,但也要访问返回的文件名。我该怎么做呢?我上面的代码显然不起作用,但它概述了我想要实现的目标。
答案 0 :(得分:2)
你不能在Python中做那样的事情,因为赋值总是一个声明。通常的模式是:
{
"result": {
"Response": {
"info": {
"serial-number": "xyz",
"value1": "value-2",
答案 1 :(得分:0)
如评论中所述,您也可以
filename = move_first_matching_file()
while filename:
# process file
# call the function again and reassing the filename
filename = move_first_matching_file()
因为你的函数在成功时发送一个字符串(总是代表true),如果不成功则发送false 如果函数失败则循环中断,但如果找到文件名则继续