קוד: |
#!/usr/bin/env python
# - *- coding: utf- 8 - *- import ftplib import time import os def LoginUser(host,port,username,password): ftp = ftplib.FTP() ftp.connect(host, port) if "220" in ftp.getwelcome(): print "[+] Connect To Server" #print (ftp.getwelcome()) try: ftp.login(username, password) print "[+] Login Connect to "+host+":"+str(port)+" - "+username except: print "[-] Login User and Password Fail" ftp.encoding='utf-8' ftp.sendcmd('OPTS UTF8 ON') return ftp ''' # List Of Local Files In This Folder ''' def ListLocalFiles(scriptpath): #myfileslocal = os.listdir(scriptpath) myfileslocal = next(os.walk('.'))[1] myfileslocalFiles = [] for file in os.listdir(scriptpath): if "." in file: if file.startswith(".") != 1: myfileslocalFiles.append(os.path.join("", file)) return myfileslocalFiles ''' # List Of Local Files In This Folder ''' def ListLocalFolders(): myfolderslocal = next(os.walk('.'))[1] return myfolderslocal ''' # List Of Server Files In This Folder ''' def ListServerFiles(ftp): myfilesServerFolder = [] try: filesOnServer = ftp.nlst() for file in filesOnServer: if "." in file: if file.startswith(".") != 1: myfilesServerFolder.append(os.path.join("", file)) return myfilesServerFolder except: print "Not Login" ''' # Upload File ''' def UploadFile(filename,ftp): ftp.storbinary("STOR " + filename, open(filename, 'rb')) def Diff(li1, li2): return (list(set(li1) - set(li2))) ''' # Vars ''' path = os.path.dirname(__file__) ftp = LoginUser("localhost", 21, "user", "pass") ''' ~ Main ~ ''' list1 = ListLocalFolders() flag = 0 def GetInFolder(x,ftp): # Get In Folder try: ftp.cwd(x) os.chdir(x) except: ftp.mkd(x) print "Error " + x + " Not Exists" flag = 1 ftp.cwd(x) os.chdir(x) return 1 ''' Check Folder And MKDir ''' while 1==1: for x in list1: if GetInFolder(x, ftp) == 1: print "done" # Get Files List pathLocal = path + "\\" + x listLocal = ListLocalFiles(pathLocal) listServer = ListServerFiles(ftp) print listLocal print listServer # Upload File To Folder listNeedToMKDir = Diff(listLocal,listServer) for i in listNeedToMKDir: #print "------------------------------" print "Upload:" + i print "To:" +x UploadFile(i, ftp) print os.getcwd() list2 = ListLocalFolders() for z in list2: if GetInFolder(z, ftp) == 1: print "done" listLocal2 = ListLocalFiles(pathLocal + "\\" + z) listServer2 = ListServerFiles(ftp) # Upload File To Folder listNeedToMKDir2 = Diff(listLocal2, listServer2) for z in listNeedToMKDir2: # print "------------------------------" print "Upload:" + z print "To:" + x UploadFile(z, ftp) print os.getcwd() ftp.cwd("..") os.chdir("..") time.sleep(5) ftp.cwd("..") os.chdir("..") time.sleep(2) |
קוד: |
a="\xf9\xec\xe5\xed.txt" b = "\xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d.txt" a.decode('1255').encode('utf-8') == b |