dabing12130 发表于 2014-03-21 11:15

代码回滚求助

需求如下,程序更新代码文件,如果发现有问题,就回滚,我的思路如下,首先把待更新的代码文件放一个目录,然后遍历2个目录下的文件,有相同的则把主目录下的同名文件改为.bak,把待更新的程序文件放到主目录对应的位置下,回滚就把更新后的程序文件改为.bak,原来改为.bak的文件改回来。不知道各位大神明白没有?我现在写到如下,发现不知道怎么写了,求帮助
import os,linecache
a = []
b = []
c = []
d = []
def sorcedir(path1):
      for root,dirs,files in os.walk(path1):
                '''print files'''
                for filespath in files:
                        a.append(os.path.join(root,filespath))
                        b.append(filespath)
                        b.sort()
      '''print a'''
      print b
def destinationdir(path2):
      for root,dirs,files in os.walk(path2):
                for filespath in files:
                        c.append(os.path.join(root,filespath))
                        d.append(filepath)
                        d.sort()
      print d
def search_same(b,d):
      start = 0
      len_b = len(b)
      for x in b:
                if x in d:
                        x = x.bak
if __name__ =="__main__":
      path1="/root/test"
      sorcedir(path1)
~                        

dabing12130 发表于 2014-03-21 11:16

自己先顶下,坐等大牛回复学习

dabing12130 发表于 2014-03-21 11:22

是我表达的不够清楚吗?原意是把b中的x改为x.bak然后把d中的x放到对应的目录下面去更新但是d只是文件名,不是对应的绝对路径+文件名的格式
页: [1]
查看完整版本: 代码回滚求助