2017-04-30 5 views
-1
import ftplib 
import os 

server = 'enter your servername here' 
username = 'root' 
password = 'passowrd' 
myFTP = ftplib.FTP(server, username, password) 
myPath = r'C:\path_of_the_folder_goes_here' 
def uploadThis(path): 
    files = os.listdir(path) 
    os.chdir(path) 
    for f in files: 
     if os.path.isfile(path + r'\{}'.format(f)): 
      fh = open(f, 'rb') 
      myFTP.storbinary('STOR %s' % f, fh) 
      fh.close() 
     elif os.path.isdir(path + r'\{}'.format(f)): 
      myFTP.mkd(f) 
      myFTP.cwd(f) 
      uploadThis(path + r'\{}'.format(f)) 
    myFTP.cwd('..') 
    os.chdir('..') 
uploadThis(myPath) 

서버에 주어진 디렉토리 파일을 업로드하는 스크립트가 있습니다. 그러나 서버에서 디렉토리를 변경하는 방법을 알아낼 수 없으므로 직접 메인 폴더에 업로드합니다. 업로드 후 파일을 실행할 수있는 방법이 있습니까? Mean은 서버에서 주어진 실행 파일을 찾아 실행합니다.python ftp 스크립트를 수정하여 디렉토리를 변경하고 파일을 실행하십시오.

+0

전체 하위 트리 또는 한 수준 만 복사 하시겠습니까? – tdelaney

+0

이 코드에는 목적지 경로가 포함되어 있지 않습니다. 추가하려는 경로는 무엇입니까? – tdelaney

+0

예 sir @tdelaney 그 .. 추가하는 방법을 알아낼 수 없습니다 .. – user3551620

답변

0

사용 FTP.cwd 방법 :

myFTP.cwd('/remote/path') 

당신이 @Martin Prikryl
감사에서 답변

uploadThis(myPath) 

를 호출하기 전에.