14

I want to copy all my JPG files in one directory to a new directory. How can I solve this in Python?I just start to learn Python.

Thanks for your reply.

1

4 Answers 4

33

Of course Python offers all the tools you need. To copy files, you can use shutil.copy(). To find all JPEG files in the source directory, you can use glob.iglob().

import glob
import shutil
import os

src_dir = "your/source/dir"
dst_dir = "your/destination/dir"
for jpgfile in glob.iglob(os.path.join(src_dir, "*.jpg")):
    shutil.copy(jpgfile, dst_dir)

Note that this will overwrite all files with matching names in the destination directory.

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks a lot. It can work success.But it seem doesn't work for the JPG files in child directory.If I want to get all JPG(include the child directory) How can make it?
@Seventeenager: You would need to use os.walk() to walk the whole directory tree – see the example in the documentation.
5

Just use the following code

import shutil, os
files = ['file1.txt', 'file2.txt', 'file3.txt']
for f in files:
    shutil.copy(f, 'dest_folder')

N.B.: You're in the current directory. If You have a different directory, then add the path in the files list. i.e:

files = ['/home/bucket/file1.txt', '/etc/bucket/file2.txt', '/var/bucket/file3.txt']

2 Comments

doesn't define source location as was requested
@Displayname Current directory is the source file.
3
import shutil 
import os 

for file in os.listdir(path):
    if file.endswith(".jpg"):
       src_dir = "your/source/dir"
       dst_dir = "your/dest/dir"
       shutil.move(src_dir,dst_dir)

1 Comment

os.listdir(path) -- here path is not defined
3
for jpgfile in glob.iglob(os.path.join(src_dir, "*", "*.jpg")):
    shutil.copy(jpgfile, dst_dir) 

You should write "**" before ".jpg" to search child directories. more "" means more subdirectory to search

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.