将特定文件从一个文件夹移动到另一个文件夹的Python脚本

我正在尝试编写一个脚本(python 2.7),它将使用正则表达式来识别文件夹中的特定文件并将它们移动到另一个文件夹。但是,当我运行该脚本时,源文件夹将移至目标文件夹,而不仅仅是其中的文件。将特定文件从一个文件夹移动到另一个文件夹的Python脚本

import os, shutil, re 

src = "C:\\Users\\****\\Desktop\\test1\\"

#src = os.path.join('C:', os.sep, 'Users','****','Desktop','test1\\')

dst = "C:\\Users\\****\\Desktop\\test2\\"

#dst = os.path.join('C:', os.sep, 'Users','****','Desktop','test2')

files = os.listdir(src)

#regexCtask = "CTASK"

print files

#regex =re.compile(r'(?<=CTASK:)')

files.sort()

#print src, dst

regex = re.compile('CTASK*')

for f in files:

if regex.match(f):

filescr= os.path.join(src, files)

shutil.move(filesrc,dst)

#shutil.move(src,dst)

所以基本上有在“测试1”文件夹中的文件,我想移动到“test2的”,但不是所有的文件,只包含“CTASK”开头的人。

路径中的****是为了保护我的工作用户名。

对不起,如果是杂乱的,我仍然在尝试一些事情。

回答:

您需要分配路径确切文件(f),以filescr变量在每次循环迭代,而不是路径filesfiles - 是一个list!)

试试下面的代码

import os 

from os import path

import shutil

src = "C:\\Users\\****\\Desktop\\test1\\"

dst = "C:\\Users\\****\\Desktop\\test2\\"

files = [i for i in os.listdir(src) if i.startswith("CTASK") and path.isfile(path.join(src, i))]

for f in files:

shutil.copy(path.join(src, f), dst)

以上是 将特定文件从一个文件夹移动到另一个文件夹的Python脚本 的全部内容, 来源链接: utcz.com/qa/266608.html

回到顶部