使用Python脚本实现文件拷贝的方法

  介绍

小编给大家分享一下使用Python脚本实现文件拷贝的方法,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

<强> 1。实现目的

统一时间对服务器某文件夹内文件进行备份保存,如若备份成功则不提示任何错误,否则将以邮件的形式告知管理员,备份出错。

<强> 2。程序流程图

主要流程图

使用Python脚本实现文件拷贝的方法

拷贝流程图

使用Python脚本实现文件拷贝的方法

<强> 3。代码编写

1。MyMain函数

[root@Python  CheckCopyFiles] #, cat  MyMain.py    # !/usr/bin/env  python      import 操作系统   import 系统   import  MyFileZip      def  main (),:   dir1 =,才能“/根/dir1"   dir2 =,才能“/根/dir2"      if 才能os.path.isdir (dir2),==, False :   ,,,os.mkdir (dir2)   ,,   if 才能os.path.isdir (dir1),:   ,,,MyFileZip.FileCopy (dir1 dir2)   else 才能:   ,,,sys.exit (1),,      if  __name__ ==,“__main__",:   ,,main ()   [root@Python  CheckCopyFiles] #

2。MyFile函数

[root@Python  CheckCopyFiles] #, cat  MyFileZip.py   # !/usr/bin/env  python      import  zipfile   import 时间   import 操作系统   import  MySendMail         def  FileCopy (dir1 dir2),:   尝试才能:   ,,,NowDate =, time.strftime (“Y % - % - % d")   ,,,Zfile =, dir2 +, & # 39;/& # 39; + & # 39; logfile_& # 39; + NowDate + & # 39; . zip # 39;   ,,,zf =, zipfile.ZipFile (Zfile & # 39; w # 39;)   ,,   ,,,for  filename 拷贝os.listdir (dir1),:   ,,,,,if  os.path.isfile(时间+ dir1  & # 39;/& # 39;, +,文件名),:   ,,,,,,,zf.write(时间+ dir1  & # 39;/& # 39;, +,文件名)   ,,,,,,,os.remove(时间+ dir1  & # 39;/& # 39;, +,文件名)   ,,,,   ,,,zf.close ()   除了才能:   ,,,MySendMail.SamMail (NowDate、dir1和dir2)   [root@Python  CheckCopyFiles] #

3。SendMail函数

[root@Python  CheckCopyFiles] #, cat  MySendMail.py   # !/usr/bin/env  python      import  smtplib   import  email.mime.text      def  SamMail (NowDate dir1 dir2),:   HOST =,才能“smtp.163.com"   SUBJECT =,才能“Copy  File  Warning"   用=,才能“发送的帐号“   得到=,才能“来自于账户”;   Remask =,才能“Copy  dirctory  warning"      msg 才能=,email.mime.text.MIMEText (“““   & lt;才能html>   ,,,& lt; body>   ,,,,,& lt; h2> Warning   ,,,,,& lt; h3>时间:% s,   ,,,,,& lt; h3> Dirctory: % s,   ,,,,,& lt; h3> Remask: % s,   ,,,& lt;/body>   & lt;才能/html>   “““才能,%,(NowDate dir1,“Copy  File  Error"),“html",“utf-8")      味精才能[& # 39;主题# 39;],=,   味精才能[& # 39;从# 39;],=,   味精才能[& # 39;使# 39;],=,      尝试才能:   ,,,server =, smtplib.SMTP ()   ,,,server.connect(主机,& # 39;25 & # 39;)   ,,,server.starttls ()   ,,,server.login(“帐号“,“密码“)   ,,,server.sendmail (,, msg.as_string ())   ,,,server.quit ()   除了才能:   ,,,print  (“Send  mail  Error")   [root@Python  CheckCopyFiles] #

<强> 4。实现效果

4.1建立新的文件

, (root@Python  ~) #, touch /根/dir1/7 /根/dir1/8   (root@Python  ~), #

4.2执行代码

, (root@Python  ~) #, python /根/python/CheckCopyFiles/MyMain.py    (root@Python  ~), #

4.3查看文件

, (root@Python  ~) #, ls  -l /根/dir1  a   total  0   ,drwxrwxrwx又是;2,root  root , 6, Aug  27 09:26 。   ,dr-xr-x——只6,root  root  201年,Aug  27, 09:26  . .   (root@Python  ~), # [root@Python  ~] #, ls  -l /根/dir2/total  4   -rw-r - r -只1,root  root  218年,Aug  27, 09:28  logfile_2017 - 08 - 27. - zip   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用Python脚本实现文件拷贝的方法