# -*- coding: utf-8 -*- import os.path import sys import shutil from ctypes import * #import Tkinter #import tkMessageBox class tiSetSM(object): def __init__(self): self.Sel = [] def main(self): self.checkLocal() self.ReadyToCopy() def CheckHddFolder(self): files = os.listdir(self.HddFolders) if files == []: # for file in files: # print file # print len(file) self.fileFlag = 1 print 'Backup files are none' else: self.fileFlag = 2 pass def checkLocal(self): oPythonFilePath = ( os.path.abspath(__file__)) #実行ファイルの絶対パス取得 self.LocalFolders =oPythonFilePath [0:(oPythonFilePath.rfind('\\'))] print 'self.LocalFolders=',self.LocalFolders #self.LocalFolders = "D:\pyHDD_D" self.HddFolders = "E:\Irie244\pyHDD_E" HddDirs = [] LocalDirs = [] self.Local_to_Hdd = [] self.UpdateFolder = [] self.CheckHddFolder() print 'self.fileFlag=',self.fileFlag if self.fileFlag == 1: for self.LocalFolder in os.listdir(self.LocalFolders): if os.path.isdir(os.path.join(self.LocalFolders,self.LocalFolder)): print 'self.LocalFolder=', self.LocalFolder self.Local_to_Hdd.append(self.LocalFolder) elif self.fileFlag == 2: for self.LocalFolder in os.listdir(self.LocalFolders): if os.path.isdir(os.path.join(self.LocalFolders,self.LocalFolder)): #print 'self.LocalFolder=', self.LocalFolder for self.HddFolder in os.listdir(self.HddFolders): if os.path.isdir(os.path.join(self.HddFolders, self.HddFolder)): #print 'self.HddFolder=', self.HddFolder #print u'ローカル=',self.LocalFolder,u'バックアップ先='+self.HddFolder if self.LocalFolder == self.HddFolder: #print 'Match' #print self.LocalFolder,'=== '+ self.HddFolder #アップデートするか確認する self.UpdateFolder.append(self.LocalFolder) else: if not self.LocalFolder in self.Local_to_Hdd: #print self.LocalFolder,'>Lo:Hdd< '+ self.HddFolder self.Local_to_Hdd.append(self.LocalFolder) else: #print 'self.LocalFolderが重複',self.LocalFolder pass else: print self.HddFolder print 'self.Local_to_Hdd=',self.Local_to_Hdd print 'self.UpdateFolder=',self.UpdateFolder self.AddFolder = list(filter(lambda x: x not in self.UpdateFolder, self.Local_to_Hdd)) print 'self.AddFolder=',self.AddFolder def ReadyToCopy(self): if self.fileFlag == 1: self.fileAddCopy() elif self.fileFlag == 2: self.UpdateCopy() def fileAddCopy(self): user32 = windll.user32 user32.MessageBoxA(0, "self.AddFolder", "command_fileAddCopy", 0x00000040) for oAdd in self.AddFolder: #shutil.copy(self.LocalFolders+'\\'+ oAdd, self.HddFolders+'\\'+ oAdd) print 'finish' def UpdateCopy(self): user32 = windll.user32 user32.MessageBoxA(0, "self.UpdateFolder", "command_UpdateCopy", 0x00000040) for oUpdate in self.UpdateFolder: #shutil.copy(self.LocalFolders+'\\'+ oUpdate, self.HddFolders+'\\'+ oUpdate) print 'finish' def copyAll(self): user32 = windll.user32 user32.MessageBoxA(0, "self.Local_to_Hdd", "command_copyAll", 0x00000040) for oAll in self.Local_to_Hdd: # shutil.copy(self.LocalFolders+'\\'+ oAll, self.HddFolders+'\\'+ oAll) print 'finish' tiSetSM().main()
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question