python将所有指定文件放到同一个文件夹中再恢复 2020-0
2020-06-11 本文已影响0人
五道口的程序狐
今天需要把所有pdf文件加上水印再放回去,但是这些文件不是都在同一个文件夹下面,PDFELEMENT6 PRO添加文件的时候不太方便,所以就把这些东西先放到同一个文件夹下,处理后再放回去。
import os
import shutil
base_dir = '/Users/xxxx/Desktop/Temp/fff/'
target_dir = '/Users/xxxx/Desktop/Temp/all_files'
os.makedirs(target_dir, exist_ok=True)
record = {}
def get_dir_pdfs(base_dir):
global record
for i in os.listdir(base_dir):
dir_name = os.path.join(base_dir, i)
if os.path.isdir(dir_name):
get_dir_pdfs(dir_name)
elif os.path.isfile(dir_name):
if dir_name.lower().endswith(".pdf"):
file_name = dir_name.split("/")[-1]
if file_name in record:
print("ERROR")
else:
record[file_name] = dir_name
shutil.copyfile(dir_name, os.path.join(target_dir, file_name))
get_dir_pdfs(base_dir)
处理完之后
added_watermark = '/Users/xxxx/Desktop/Temp/added_watermark/Watermark'
for i in record:
new_pos = os.path.join(added_watermark, i)
os.remove(record[i])
shutil.copyfile(new_pos, record[i])