我正在尝试使用此代码对我的文件进行排序,并且没有产生任何错误,但我的文件没有被排序。正在创建正确的文件,但由于某种原因文件不会移动。
我正在关注 youtube 上的视频教程,并准确地复制了代码,但我不确定为什么它不起作用。这是视频的链接。 https://www.youtube.com/watch?v=gs0FNQR0njI&list=PLUaB-1hjhk8FE_XZ87vPPSfHqb6OcM0cF&index=52
没有满足任何
if
语句条件,因此没有移动任何文件。请记住,在形式的循环中:
for loop_var in iterable:
code here
iterable
是生成迭代器的对象,for
可以通过该迭代器进行迭代,loop_var
是循环变量。循环变量动态分配给迭代器每次迭代生成的当前对象。因此,在
for i in ['a', 'b', 'c']:
print(i)
结果是
a
b
c
在你的代码中,
for file in file_name:
if ".mp4" in file_name and not os.path.exists(path + 'video files\\' + file):
shutil.move(path+file, path+ 'video files\\' + file)
elif ".txt" in file_name and not os.path.exists(path + 'text files\\' + file):
shutil.move(path+file, path+ 'text files\\' + file)
elif ".png" in file_name and not os.path.exists(path + 'image files\\' + file):
shutil.move(path+file, path+ 'image files\\' + file)
您在
file_name
条件中使用可迭代 if
,而不是循环变量 file
。我想这是因为你混淆了变量名称。您应该交换这两个名称,以便自己更清楚地了解情况;即 for file_name in files:
或类似的东西。