简体   繁体   中英

How do I move both files and folders to the specified directory?

There is a code that moves files from one directory to another, but it doesn't move folders.

import os,glob
import shutil

inpath = str5
outpath = str6

os.chdir(inpath)
for file in glob.glob("*.*"):

    shutil.move(inpath+'/'+file,outpath)

How to make it move both files and folders to the specified directory?

*.* selects files that have an extension, so it omits sub-folders.

Use * to select files and folders.

Then you should see your desired result.

for file in glob.glob("*"):
    shutil.move(inpath+'/'+file,outpath)

You can use os.listdir to get all the files and folders in a directory.

import os
import shutil

def move_file_and_folders(inpath, outpath):
    for filename in os.listdir(inpath):
        shutil.move(os.path.join(inpath, filename), os.path.join(outpath, filename))

In your case,

inpath = <specify the source>
outpath = <specify the destination>
move_file_and_folders(inpath, outpath)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM