python中文件浏览器中文件排序项目出错

问题描述 投票:0回答:1

我正在尝试使用此代码对我的文件进行排序,并且没有产生任何错误,但我的文件没有被排序。正在创建正确的文件,但由于某种原因文件不会移动。

在此输入图片描述

我正在关注 youtube 上的视频教程,并准确地复制了代码,但我不确定为什么它不起作用。这是视频的链接。 https://www.youtube.com/watch?v=gs0FNQR0njI&list=PLUaB-1hjhk8FE_XZ87vPPSfHqb6OcM0cF&index=52

python shutil
1个回答
0
投票

没有满足任何

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:
或类似的东西。

© www.soinside.com 2019 - 2024. All rights reserved.