มีฐานข้อมูลไฟล์อยู่บนไซต์ ftp ที่ฉันต้องการดาวน์โหลดด้วยสคริปต์ Python ตอนนี้ฉันคิดว่าวิธีหนึ่งในการทำเช่นนี้คือการคัดลอกฐานข้อมูล ftp ไปยังฐานข้อมูลทางภูมิศาสตร์บนคอมพิวเตอร์ของฉัน ด้านล่างเป็นสคริปต์ที่ฉันเริ่มต้น ไม่มีใครรู้ว่าฉันสามารถแก้ไขสคริปต์นี้เพื่อให้ได้ ftp gdb ได้หรือไม่ ขอบคุณ
ด้านล่างนี้เป็นรหัสสุดท้ายของฉันที่ทำงานตามคำตอบ @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"