我的代码中的以下行有时会返回一个空数组,而实际上给定路径不为空:
ftp_nlist($connection, '/var/movies/'.$idcat);
有时候,我的意思是,早上一切正常,但晚上一切都停止工作。
我怀疑这取决于服务器负载,并且发现了类似的内容:
ftp_pasv($connection, true);
ftp_nlist($connection, '/var/movies/'.$idcat);
但仍然nlist返回空数组。
答案 0 :(得分:0)
我已使用此脚本获取ftp服务器上所有文件的名称。这可能会对您有所帮助。
导入 导入操作系统 导入ftplib
ftp = ftplib.FTP(“ 192.168.1.201”) ftp.login(“用户名”,“密码”)
文件= []
F =打开('Files.txt','a')
尝试: 文件= ftp.nlst() 对于文件中的fname: res = re.findall(“”,fname) 如果是: 打印fname F.write(fname +'\ n') 如果不是res: 继续 除了ftplib.error_perm,分别为: 如果str(resp)==“ 550未找到文件”: 打印“此目录中没有文件” 其他: 提高
F.close()
注意:有时由于服务器上的流量很大,或者由于您要从中获取文件的目录在某个地方打开而没有为您提供访问权限,这可能是您遇到的问题。