我想使用 python 将大量文件从 windows 系统移动到 unix ftp 服务器。我有一个 csv,其中包含当前的完整路径和文件名以及要发送到的新基础浴(请参阅此处以获取示例数据集)。
我有一个使用 os.renames 的脚本在 Windows 中进行传输和目录创建,但可以找到一种通过 ftp 轻松完成的方法。
import os, glob, arcpy, csv, sys, shutil, datetime
top=os.getcwd()
RootOutput = top
startpath=top
FileList = csv.reader(open('FileList.csv'))
filecount=0
successcount=0
errorcount=0
# Copy/Move to FTP when required
ftp = ftplib.FTP('xxxxxx')
ftp.login('xxxx', 'xxxx')
directory = '/TransferredData'
ftp.cwd(directory)
##f = open(RootOutput+'\\Success_LOG.txt', 'a')
##f.write("Log of files Succesfully processed. RESULT of process run @:"+str(datetime.datetime.now())+"\n")
##f.close()
##
for File in FileList:
infile=File[0]
# local network ver
#outfile=RootOutput+File[4]
#os.renames(infile, outfile)
# ftp netowrk ver
# outfile=RootOutput+File[4]
# ftp.mkd(directory)
print infile, outfile
我在http://forums.arcgis.com/threads/17047-Upload-file-to-FTP-using-Python-ftplib中尝试了该过程,但这是用于移动目录中的所有文件,我有旧的和新的完整的文件名,只需要它来创建中间目录。
谢谢,