Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我复制太多文件时,Python脚本超时_Python_Ftp - Fatal编程技术网

当我复制太多文件时,Python脚本超时

当我复制太多文件时,Python脚本超时,python,ftp,Python,Ftp,我有一个Python脚本,它从一个匿名ftp站点复制了一堆文件。当我尝试复制几千个文件时,脚本会在所有文件都可以复制之前超时。但是,如果我多次运行脚本,每次只复制几百个文件,那么就没有问题了。这些文件是文本文件,每个文件大约有10KB的空间。这是我登录ftp站点后的代码: for row in rows: stationFilePrefix = "%s" % (row[0]) stationFile = stationFilePrefix + ".dly"

我有一个Python脚本,它从一个匿名ftp站点复制了一堆文件。当我尝试复制几千个文件时,脚本会在所有文件都可以复制之前超时。但是,如果我多次运行脚本,每次只复制几百个文件,那么就没有问题了。这些文件是文本文件,每个文件大约有10KB的空间。这是我登录ftp站点后的代码:

for row in rows:
       stationFilePrefix = "%s" % (row[0])
       stationFile =  stationFilePrefix + ".dly"
       f = open(stationFile,"wb")
       ftp.retrbinary("RETR " + stationFile,f.write)
       f.close()

有人对如何在脚本没有超时的情况下一次抓取所有文件有什么建议吗?谢谢

从技术上讲,它不是一次抓取所有文件,但是如果在较小的文件集上多次调用脚本有效,那么您最好让脚本本身一次只复制几百个文件,每次迭代都抓取一个新的文件集。

调用它时ftp.retbinary()会阻塞吗?
否则,这意味着一次打开的连接太多,网络无法处理所有连接

我想知道你是否是一个好的网络公民。。。你真的一次需要所有这些文件吗?