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



我有一个文件夹,里面装满了名为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

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

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

据我了解,您有一个包含文件的文件夹

["stack_1"、"stack_2,...,stack_30]

每个文件实际上是 4,stack_1:

"stack_1"、"stack_1_shift"、"stack_1_X"、"stack_1_Y"

并且您要将它们移动到四个文件夹,文件夹:

"常规"、"移位"、"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..

是的,字符串替换有效,对不起,我对python不是很好,所以使用*作为通配符。

最后

import os
import shutil
n = 1
while (n < 30):
shutil.move('Stack_%d.txt' % (n), 'stack_%d' % (n))
shutil.move('Stack_%d_shifts.txt' % (n), 'stack_%d' % (n))
shutil.move('Stack_%d.mrc' % (n), 'stack_%d' % (n))
shutil.move('Stack_%d.rawtlt' % (n), 'stack_%d' % (n))
n = n+1

工作

最新更新