Có một cơ sở dữ liệu địa lý tập tin đang ngồi trên một trang web ftp mà tôi muốn tải xuống với một tập lệnh Python. Ngay bây giờ tôi đang nghĩ một cách để làm điều này là sao chép cơ sở dữ liệu địa lý ftp vào cơ sở dữ liệu địa lý trên máy tính của tôi. Dưới đây là kịch bản tôi đã bắt đầu. Có ai biết làm thế nào tôi có thể thay đổi tập lệnh này để tôi có được ftp gdb không? Cảm ơn bạn
Dưới đây là mã làm việc cuối cùng của tôi dựa trên câu trả lời @om_hennners được cung cấp.
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"