这里的第一个计时器,温柔:)
我对编程很缺乏经验,而且我一直在尝试编写一个python脚本,它将从一个目录中获取文件,按文件名的前两个字母对它们进行排序,创建文件夹(在不同的目录中为它们提供相同的文件名称,然后将它们移到那里。
因此,如果我们在同一目录中有三个文件,例如:
我希望将第一个文件移到dir/
中名为AB-0000-00
的文件夹中,生成dir/AB-0000-00/AB-0000-00
。
第二个应该以{{1}}结束。
最后一个字母有不同的字母,所以我希望它转到dir/AB-0001-00/AB-0001-00
。
我尝试用几种不同的方式编写它(使用otherdir/DC-0000-00/DC-0000-00
来移动文件),但是处理文件名非常困难,并且无法生成具有任何结果的代码。我对列表的工作也非常简陋,所以任何帮助都会非常非常感激。
非常感谢!
Metacore为我提供了我原本要求的大部分内容,所以这也非常适合!
答案 0 :(得分:1)
这就是你想要的吗?
def sort_move(dir):
files = os.listdir(dir) #stores every filename as a list item ['f1.txt', 'f2.txt'..]
for name in files: #goes through the list item by item
folder = name.split('.')[0] #removes extension such as .txt
os.mkdir(dir + folder) #creates a new dir using filename
shutil.move(dir + name, dir + folder + '\\') #moves the file to its new folder, deletes old one
sort_move('c:\\test_folder\\')
我希望这能让你朝着正确的方向前进:)