如何解决Python在所有子目录中查找特定文件,然后将其复制到另一个目录/
我在C:/ Print中有一个包含数千个目录的文件夹。它们以数字命名。每个目录包含的子目录名称可能不同。
我想输入一个数字,然后程序必须进入名称与输入类似的目录,并检查文件的所有子目录,就像该输入一样,但扩展名为.tif,然后将其复制到另一个目录
示例:
输入“ 63783”
C:/Print/63783/FCB/63783.tif->将其复制到D:/ HotFolder
我可以帮忙吗?
解决方法
我很乐意为您提供帮助,但是我认为我们需要更多信息,是否可以使用Discord帐户或服务器与您联系? 试试下面的代码,看看它是否有效:
import os,shutil
number = int(input("Etner number: "))
path = "C:\\Print\\" + str(number)
os.chdir(path)
destination = "D:\\HotFolder"
path_list = os.listdir()
for sub_dir in path_list:
sub_path = path+ "\\" +sub_dir
os.chdir(sub_path)
files = os.listdir()
if str(number) + ".tif" in files:
source = sub_path + "\\" + str(number) + ".tif"
shutil.move(source,destination)
,
def f_name(some_input):
import os,shutil
src_path = "src_dir_path"
src_path = os.path.join(src_path,some_input) # dir path to look for
dst_path = "dst_dir_path"
if not os.path.isdir(src_path): # no directory named <some_input>
return
if not os.path.isdir(dst_path): # destination folder check
os.mkdir(dst_path)
copy_targets = [(root,filename) for root,_,filenames in os.walk(src_path) for filename in filenames if filename.endswith(".tif")]
for root,filename in copy_targets:
origin = os.path.join(root,filename)
dest = os.path.join(dst_path,filename)
shutil.copyfile(origin,dest) # copy file
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。