-1

我有一个名为的目录,/user/local/里面有几个表单文件,jenjar.dat_1并且jenmis.dat_1. 还有一个目录/user/data,里面有两个表单的子目录,jenjarjenmis. 我需要一个Python代码jenjar.dat_1,它可以将.jenjar/user/datajenmis.dat_1jenmis'/user/data

我猜这个os模块可以工作,但我很困惑。这里的大多数问题都没有显示 Pythonic 的方式来做到这一点。

编辑:我找到了解决方案

destination = '/user/local'
target = '/user/data'
destination_list = os.listdir(destination)
data_dir_list = os.listdir(target)
for fileName in destination_list:
   if not os.path.isdir(os.path.join(destination, fileName)):
       for prefix in data_dir_list:
           if fileName.startswith(prefix):
               shutil.copy(os.path.join(destination, fileName), os.path.join(target, prefix, fileName))
4

1 回答 1

3

这应该可以解决问题

srcDir = '/user/local'
targetDir = '/user/data'
for fname in os.listdir(srcDir):
    if not os.path.isdir(os.path.join(srcDir, fname)):
        for prefix in ['jenjar.dat', 'jenmis.dat']:
            if fname.startswith(prefix):
                if not os.path.isdir(os.path.join(targetDir, prefix)):
                    os.mkdir(os.path.join(targetDir, prefix))
                shutil.move(os.path.join(srcDir, fnmae), targetDir)
于 2012-10-15T07:15:32.833 回答