将所有文件从目录复制到Python中的另一个目录

shutil(shell实用程序)模块,提供了将文件从src递归复制到dst的选项。

复制所有文件的语法为:

    shutil.copytree(
        src, 
        dst, 
        symlink=False, 
        ignore=None, 
        copy_function=copy2, 
        ignore_dangling_symlins=False)

这里,

  • src-从中复制文件的源目录。

  • dst-将文件复制到的目的地。

  • 如果符号链接为True,

    • 用新名称移动文件

    • 使用“ os”模块复制和重命名文件

移动并重命名文件

    shutil.move(src, dst, copy_function=copy2)

列表命令:

    -bash-4.2$ ls
    python_samples  test test.txt test.txt.copy  test.txt.copy2

码:

# 导入模块
import os
import shutil

src_dir = os.getcwd() # 获取当前的工作目录
dest_file = src_dir + "/python_samples/test_renamed_file.txt" 
shutil.move('test.txt',dest_dir)

print(os.listdir())
# 文件“ test.txt”从 
# src以新名称命名os.chdir(dest_dir)print(os.listdir()) # dest中的文件列表

输出结果

'/home/sradhakr/Desktop/my_work/python_samples/ test_renamed_file.txt’
['python_samples', 'test', 'test.txt.copy', 'test.txt.copy2']
['.git', '.gitignore', 'README.md', 'src', ' test_renamed_file.txt']

使用os和shutil模块进行复制和重命名

在这种方法中,我们使用 shutil.copy()复制文件的功能os.rename() 重命名文件。

# 导入模块
import os
import shutil

src_dir = os.getcwd() #获取当前的工作目录print(src_dir)# 在我们要复制和重命名的目录中创建一个目录
dest_dir = os.mkdir('subfolder')os.listdir()dest_dir = src_dir+"/subfolder"
src_file = os.path.join(src_dir, 'test.txt.copy2')shutil.copy(src_file,dest_dir) #将文件复制到目标目录

dst_file = os.path.join(dest_dir,'test.txt.copy2')
new_dst_file_name = os.path.join(dest_dir, 'test.txt.copy3')os.rename(dst_file, new_dst_file_name)#renameos.chdir(dest_dir)print(os.listdir())

输出结果

/home/user/Desktop/my_work
['python_samples', 'subfolder', 'test', 'test.txt.copy2', 'test.txt.copy_1']
'/home/sradhakr/Desktop/my_work/subfolder/test.txt.copy2'
['test.txt.copy3']

简介: shutil(shell实用程序模块)是执行文件或目录的复制,移动或重命名操作的更Python方式。

参考: https : //docs.python.org/3/faq/windows.html