我在线找到了一些代码,可以从FTP文件夹下载所有文件。我想稍微修改一下代码,以仅下载符合特定命名约定的文件。例如,我只想下载名称中带有“ ARM”的文件。我认为下面的代码已经关闭,但是我收到一条错误消息,内容为:
TypeError: 'in <string>' requires string as left operand, not tuple
此行发生错误:if file in 'ARM':
这是我的代码示例(这不是全部代码;只是为了保持简单)。
for file in filelist:
if file in 'ARM':
if file[1]['type'] == 'file':
fullpath = os.path.join(destination[:-1] + path, file[0])
if (not overwrite and os.path.isfile(fullpath)):
continue
else:
with open(fullpath, 'wb') as f:
ftp.retrbinary('RETR ' + file[0], f.write)
print(file[0] + ' downloaded')
elif file[1]['type'] == 'dir':
fetchFiles(ftp, path + file[0] + '/', destination, overwrite)
else:
print('Unknown type: ' + file[1]['type'])
我想我需要遍历元组的元素。那正确吗?我可以简单地检查文件名以找到匹配的字符串吗?