需求:把一个文件夹中每个jpg前的数字和另一个文件夹每个txt前的数字,现需要把两个文件夹中数字相同的txt文件复制到new中
下面是一个Python脚本,它会将两个文件夹中数字相同的 .txt 文件复制到一个名为 new 的文件夹中。
import os
import shutil
# 定义文件夹路径
jpg_folder = "path_to_your_jpg_folder"
txt_folder = "path_to_your_txt_folder"
new_folder = "path_to_your_new_folder"
# 如果目标文件夹不存在,则创建它
if not os.path.exists(new_folder):
os.makedirs(new_folder)
# 获取文件夹中所有文件的列表
jpg_files = [f for f in os.listdir(jpg_folder) if f.endswith('.jpg')]
txt_files = [f for f in os.listdir(txt_folder) if f.endswith('.txt')]
# 提取数字部分
jpg_numbers = {os.path.splitext(f)[0] for f in jpg_files}
txt_numbers = {os.path.splitext(f)[0] for f in txt_files}
# 找到数字相同的txt文件
common_numbers = jpg_numbers.intersection(txt_numbers)
# 复制txt文件到目标文件夹
for number in common_numbers:
txt_file = os.path.join(txt_folder, f"{number}.txt")
shutil.copy(txt_file, new_folder)
print("数字相同的txt文件已成功复制到目标文件夹。")
代码说明:
jpg_folder:你 .jpg 文件所在的文件夹路径。
txt_folder:你 .txt 文件所在的文件夹路径。
new_folder:目标文件夹路径,数字相同的 .txt 文件将被复制到这里。
操作步骤:
脚本会首先获取两个文件夹中所有 .jpg 和 .txt 文件的列表,并提取文件名前的数字部分。
然后它会找出两个文件夹中数字相同的文件,并将这些 .txt 文件复制到目标文件夹中。
将代码复制到Python环境中运行即可。