Shutil.move python脚本不执行或移动文件

时间:2017-06-30 16:56:26

标签: python python-3.x

所以,我一直在尝试编写一个python脚本来将.jpg从一个文件移动到另一个文件,虽然程序本身(貌似)在打印“任务完成”时运行完成,但文件实际上并没有从一个文件夹到另一个。这是脚本:

    import shutil
    from os.path import join
    import os

    source = join('C','Users','Francisco','Desktop','Test')
    destination1 = join('C','Users','Francisco','Desktop','Archive1')

    for files in source:
        if files.endswith(".JPG"):
            shutil.move(source,destination1)

    print("Task completed");

我已经尝试通过命令提示符和IDLE编辑器模块运行脚本,甚至将Python 3.x设置为我的环境变量中的路径,但似乎没有任何效果。由于无法将图像从一个文件夹移动到另一个文件夹而感到非常沮丧,并希望看看你是否可以帮助我找出问题所在,无论是脚本本身的问题还是python软件的问题在我的电脑上。

我是使用python编写脚本的初学者,所以任何帮助都会非常感激。提前谢谢。

2 个答案:

答案 0 :(得分:0)

您正在循环浏览source路径字符,而不是通过实际文件夹,快速修复:

import os
import shutil

source = os.path.join('C:\\', 'Users', 'Francisco', 'Desktop', 'Test')
destination1 = os.path.join('C:\\', 'Users', 'Francisco', 'Desktop', 'Archive1')

for filename in os.listdir(source):
    if filename.lower().endswith(".jpg"):
        shutil.move(os.path.join(source, filename), destination1)

print("Task completed")

答案 1 :(得分:0)

你的代码中有一些错误:

import shutil
from os.path import join
import os

source_dir = join('C:/','Users','Francisco','Desktop','Test')
dest = join('C:/','Users','Francisco','Desktop','Archive1')
files = os.listdir(source_dir)

for source in files:
    if source.endswith(".JPG"):
        shutil.move(source, dest)

print("Task completed");