使用python将名称中带有常用短语/数字的文件移动到具有相同编号的文件,然后增加数字并重复

时间:2017-01-04 11:11:09

标签: python move

我有一个文件夹,其中包含名为Stack_1的文件,直至Stack_30。我将这些文件全部放在这样的文件夹中,因此通常希望制作一个脚本来将它们组织到文件夹中。

每个堆栈有4个文件,因此它将是Stack_1.txtStack_1_shifts.txt,依此类推。

我尝试使用shutil.move创建一个脚本但是当我不使用某些内容的绝对名称时它不喜欢它:

import os
import shutil
n = 1
while (n < 30):
    shutil.move('Stack_'n*, 'stack_'n)
    n = n+1

我已经制作了文件夹。任何有关如何以自动化方式执行此操作的建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

问题/标题有点令人困惑,但我会尽力帮助你。

根据我的理解,你有一个带文件的文件夹

['stack_1','stack_2',...,'stack_30']

这些文件中的每一个实际上都是4,stack_1将是:

'stack_1', 'stack_1_shift', 'stack_1_X', 'stack_1_Y'

并且您想将em移动到四个文件夹,文件夹:

'常规', '移位', 'X', 'Y'。

我希望就是这样,如果是这样,以下是你如何解决它:

folders_name_array = ['stack','shift','x','y']

for file in glob.glob('*.txt'): if file.endswith('shift'): os.move (file, destination) elif file.endswith('X'): os.move (file, destination2) so on..

答案 1 :(得分:0)

yesss字符串替换工作抱歉我用python不太好所以使用*用于通配符。

最后

{{1}}

工作