python的ftp
#coding=gbk import os from ftplib import FTP from fnmatch import fnmatch from datetime import date from subprocess import * import getpass import sys import telnetlib import re import io import logging global CWD,LOGFILE,CONFIGFILE os.chdir(os.getenv('CASE_HOME')) CWD=os.getcwd() CONFIGFILE=CWD+'\\config.cfg' def initial(): global HOSTIP, USERNAME, PASSWORD, REMOTEDIR, PROMPT, LOCALCODEDIR, REMOTECODEDIR result=0 f_conf=open(CONFIGFILE,'r') for line in f_conf: m = re.search('(.*)=(.*)',line) if m: var=m.group(1) content=m.group(2) if var == 'HOSTIP': HOSTIP=content result=result+1 if var == 'USERNAME': USERNAME=content result=result+1 if var == 'PASSWORD': PASSWORD=content result=result+1 if var == 'REMOTEDIR': REMOTEDIR=content result=result+1 if var == 'LOCALCODEDIR': LOCALCODEDIR=content result=result+1 if var == 'REMOTECODEDIR': REMOTECODEDIR=content result=result+1 if var == 'PROMPT': PROMPT=content result=result+1 return result def main(): print "begein main" #读取配置文件 print 'Begin read config.cfg...' os.chdir(CWD) if initial() != 7: print "read config.cfg failed,please check it!" return -1 print 'Read config.cfg sucessed!' #FTP登陆到服务器 ftp = FTP(HOSTIP) ftp.login(USERNAME,PASSWORD) print "begin get file list" file=open(LOCALCODEDIR+"/tmp.txt",'r') for line in file: #上传文件 line=line.replace('\\','/') line=line.replace('\n','') dest=line tmp = dest.replace(LOCALCODEDIR,REMOTECODEDIR) print line+'-->'+tmp CASENAME=os.path.basename(line) ftp.cwd(os.path.dirname(tmp)) ftp.storlines('STOR '+CASENAME,open(line)) file.close() #退出FTP和TELNET ftp.quit() if __name__ == '__main__': main()
配置文件示例:
1 HOSTIP=10. 2 USERNAME= 3 PASSWORD= 4 LOCALCODEDIR=D:/01_code 5 REMOTECODEDIR=/home/ 6 PROMPT=>
浙公网安备 33010602011771号