Na stronie ftp znajduje się geobaza plików, którą chciałbym pobrać za pomocą skryptu Python. Obecnie myślę, że jednym ze sposobów jest skopiowanie geobazy ftp do geobazy na moim komputerze. Poniżej znajduje się skrypt, który rozpocząłem. Czy ktoś wie, jak mogę zmienić ten skrypt, aby uzyskać ftp gdb? Dziękuję Ci
Poniżej znajduje się mój końcowy, działający kod oparty na dostarczonej odpowiedzi @om_hennners.
import arcpy, os, sys
from arcpy import env
arcpy.env.overwriteOutput = True
from ftplib import FTP
directory = "/group/geodb" #location of gdb on ftp
folder = "D:\\temp\\"
out_gdb = "data.gdb"
out_path = folder + os.sep + out_gdb
copy_gdb = "hydro.gdb" # This is the gdb I would like to copy from the ftp site
ftp = FTP("10.4.2.22")
ftp.login("user", "pass")
ftp.cwd(os.path.join(directory, copy_gdb))
print "Changed to " + os.path.join(directory, copy_gdb)
filenames = ftp.nlst()
print filenames
print "starting to write"
for f in filenames:
with open(os.path.join(out_path, f), 'wb') as local_file:
ftp.retrbinary('RETR '+ f, local_file.write)
ftp.close()
print "closed ftp connection"