将具有特定名称的文件复制到另一个文件夹
Copying files with a specific name to another folder
我有包含 1500 个 txt 文件的文件夹和包含 20000 个 jpg 文件的文件夹。 1500个jpg文件与txt文件同名。我需要将这些名称类似于 txt 文件的 jpg 文件移动到另一个文件夹。
简单地说,我有从 1(1) 到 5(500) 的 txt 文件,我只需要从 0(1) 的 jpg 文件的文件夹中移动名称从 1(1) 到 5(500) 的文件到 9(500)。
我试图通过 shutil 在 Python 中编写一个程序,但我不明白如何输入所有 1500 个值,因此只有这些文件被移动。
请告诉我该怎么做?提前致谢!
我找到了所有 txt 文件的名称,并试图从另一个同名文件夹中复制图片。
图片示例:
我有这个名字
我只需要复制这些图像,因为它们的名称与 txt 的名称相同:
import os
import glob
import shutil
source_txt = 'C:\obj\TXT'
dir = 'C:\obj\Fixed_cars'
vendors =['C:\obj\car']
files_txt = [os.path.splitext(filename)[0] for filename in os.listdir(source_txt)]
for file in vendors:
for f in (glob.glob(file)):
if files_txt in f: # if apple in name, move to new apple dir
shutil.move(f, dir)
嗯,使用 this answer on looping through files of a folder
您可以循环浏览文件夹中的文件。
import os
directory = ('your_path_in_string')
txt_files = []
for filename in os.listdir(directory):
if filename.endswith(".txt"):
txt_files.append(filename.rstrip('.txt'))
for filename in os.listdir(directory):
if (filename.endswith(".jpg") and (filename.rstrip('.jpg') in txt_files)):
os.rename(f"path/to/current/{filename}", f"path/to/new/destination/for/{filename}")
for the the moving file part you can read this answer
我有包含 1500 个 txt 文件的文件夹和包含 20000 个 jpg 文件的文件夹。 1500个jpg文件与txt文件同名。我需要将这些名称类似于 txt 文件的 jpg 文件移动到另一个文件夹。
简单地说,我有从 1(1) 到 5(500) 的 txt 文件,我只需要从 0(1) 的 jpg 文件的文件夹中移动名称从 1(1) 到 5(500) 的文件到 9(500)。
我试图通过 shutil 在 Python 中编写一个程序,但我不明白如何输入所有 1500 个值,因此只有这些文件被移动。
请告诉我该怎么做?提前致谢!
我找到了所有 txt 文件的名称,并试图从另一个同名文件夹中复制图片。
图片示例:
我有这个名字
import os
import glob
import shutil
source_txt = 'C:\obj\TXT'
dir = 'C:\obj\Fixed_cars'
vendors =['C:\obj\car']
files_txt = [os.path.splitext(filename)[0] for filename in os.listdir(source_txt)]
for file in vendors:
for f in (glob.glob(file)):
if files_txt in f: # if apple in name, move to new apple dir
shutil.move(f, dir)
嗯,使用 this answer on looping through files of a folder 您可以循环浏览文件夹中的文件。
import os
directory = ('your_path_in_string')
txt_files = []
for filename in os.listdir(directory):
if filename.endswith(".txt"):
txt_files.append(filename.rstrip('.txt'))
for filename in os.listdir(directory):
if (filename.endswith(".jpg") and (filename.rstrip('.jpg') in txt_files)):
os.rename(f"path/to/current/{filename}", f"path/to/new/destination/for/{filename}")
for the the moving file part you can read this answer