我有一个文件夹,里面装满了名为Stack_1
的文件,直到Stack_30
。我经常将这些文件都放在这样的文件夹中,因此想制作一个脚本将它们组织到文件夹中。
每个堆栈有 4 个文件,因此它将是Stack_1.txt
、Stack_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
工作