【发布时间】:2019-12-23 21:19:52
【问题描述】:
上周我们的测量设备供应商更新了固件。
我在这里总是使用 python 脚本来下载所有 .rd 文件。
固件正式返回的文件名总是像191222_221400.rd
一个完整的文件名。
不幸的是,更新后固件将其返回为"rw group owner oct 9_191222_221400.rd"
脚本现在停止写入的地方。然后不删除它。
## Handles to download and delete the .rd file in the project folder
def downloadAndDelet_RD(self):
time.sleep(5)
files = []
#print self.conf.INSipAddress
ftp = ftplib.FTP(self.conf.INSipAddress)
ftp.login()
files = ftp.nlst()
for f in files:
if f.endswith(".rd"):
#print self.conf.newP + '//' + self.conf.nativefolderName + '//' +self.gpsSelectedProject+"//"+f
ftpfile = urllib2.urlopen("ftp://"+self.conf.INSipAddress +"//"+f)
localfile = open(self.conf.newP + '//' + self.conf.nativefolderName + '//' +self.gpsSelectedProject+"//"+f, "wb")
ftp.retrbinary('RETR %s' % f, localfile.write)
localfile.close()
if self.conf.INSDeleteRD == 1:
ftp.delete(f)
我已经尝试了各种方法让它接受全名,但我被卡住了。并且无处可去。
关于如何解决此问题的任何建议?
【问题讨论】:
-
您使用的是 Python 2,对吗?
-
是的,正确的 Python 2
-
代码是否抛出任何错误?刚刚运行成功,但是输出文件是空的?
-
这就是问题所在,没有错误,只是“挂起”。它开始下载。它从哪里获得名称,但没有进一步的 0KB 和名称。
-
你知道它挂在哪里吗?
标签: python ftp python-2.x ftplib