检索qpython文件夹下的.py,将文件复制单独文件夹并给出进度条

基本任务

检索qpython文件夹下的.py,将文件复制单独文件夹并给出进度条

详细说明

  1. 首先导入了os和shutil模块,它们分别用于进行文件、文件夹操作和复制文件操作。

  2. 然后定义了源文件夹路径和目标文件夹路径。源文件夹路径指定了需要遍历的文件夹,而目标文件夹路径指定了复制文件的目标路径。

  3. 接着使用os模块创建了目标文件夹。如果目标文件夹不存在,则通过os.makedirs函数进行创建。

  4. 使用os.listdir函数遍历源文件夹中的所有文件名,使用for循环对每个文件进行处理,判断该文件是否以.py结尾,如果是则执行下一步操作。

  5. 生成新文件名。在目标文件夹中,文件名由序号和文件名组成,序号表示该文件在目标文件夹中的顺序。序号的值等于目标文件夹中已有文件数量加1。例如,如果目标文件夹中已经有一个文件,那么当前文件的序号就为2,以此类推。

  6. 构建源文件路径和目标文件路径。使用os.path.join函数将文件名和文件夹路径拼接起来,得到源文件路径src_file_path和目标文件路径dst_file_path。

检索qpython文件夹下的.py,将文件复制单独文件夹并给出进度条_第1张图片

  1. 复制文件到目标文件夹。使用shutil.copy函数将源文件复制到目标文件夹中。

  2. 上述操作中,文件复制过程比较耗时,如果文件较多,用户等待的时间也会较长。因此,我们可以使用tqdm库添加进度条功能,让用户更加直观地了解复制进度。

  3. 首先,我们使用from tqdm import tqdm语句从tqdm库中导入tqdm函数。

  4. 接着,获取源文件夹中所有.py文件的列表py_files。这可以通过列表推导式实现,遍历源文件夹中的所有文件名,将以.py结尾的文件名加入到py_files列表中。

  5. 使用tqdm函数创建一个进度条。进度条的描述信息为’Copying files’,也可以根据需要进行修改。使用for循环遍历py_files列表,对每个文件进行处理。

  6. 在for循环中的操作与前面的代码类似,使用生成新的文件名、构建源文件路径和目标文件路径、复制文件到目标文件夹等步骤。

  7. 在for循环之外,现在运行程序时,你将看到一个带有进度条的复制文件过程。进度条显示复制文件的进度,可以让用户更加直观地了解复制过程。

代码

添加一个简单的进度条。可以使用tqdm库来实现进度条功能。首先,请确保你已经安装了tqdm库,如果没有安装可以使用以下命令进行安装:

pip install tqdm

然后,你可以使用下面的代码来实现进度条功能:

import os
import shutil
from tqdm import tqdm

# 源文件夹路径
src_folder = '/storage/emulated/0/qpython'
# 目标文件夹路径
dst_folder = '/storage/emulated/0/qpython/py文件'

# 创建目标文件夹
if not os.path.exists(dst_folder):
    os.makedirs(dst_folder)

# 获取源文件夹中的.py文件列表
py_files = [file_name for file_name in os.listdir(src_folder) if file_name.endswith('.py')]

# 使用tqdm创建进度条,并遍历.py文件列表
for file_name in tqdm(py_files, desc='Copying files'):
    # 生成新文件名
    new_file_name = f"{len(os.listdir(dst_folder)) + 1}_{file_name}"
    # 构建源文件路径和目标文件路径
    src_file_path = os.path.join(src_folder, file_name)
    dst_file_path = os.path.join(dst_folder, new_file_name)
    # 复制文件到目标文件夹
    shutil.copy(src_file_path, dst_file_path)

以上代码中,我们通过将.py文件列表传递给tqdm函数来创建进度条。
检索qpython文件夹下的.py,将文件复制单独文件夹并给出进度条_第2张图片
检索qpython文件夹下的.py,将文件复制单独文件夹并给出进度条_第3张图片
进度条会显示复制文件的进度。你可以根据需要修改进度条的描述信息。运行以上代码,你将看到一个带有进度的复制文件过程。

你可能感兴趣的:(自动化,python,智能手机,青少年编程,数据库)