遍历目录下所有PDF文件后,将其中A3和A4尺寸的文件名前增加尺寸名字样,便于一眼识图。
文件名已经包含尺寸信息的,则略过。
A3和A4尺寸的PDF文件名前增加“A3-”和“A4-”字样
def add_a3ora4_beforefilename(list):
'''
根据传入的列表,将其中的文件名前增加对应的A3或A4字样。
:param list: [['D:/own/pdf/演示/根目录/目录1/目录.pdf', {'A3': 1}]]
:return:
'''
for i in list:
print("look", i)
if set(i[1].keys()) == set({'A3': 1}.keys()):
old_fullfilename = i[0]
old_filename = os.path.basename(old_fullfilename)
if 'A3' not in old_filename:
new_filename = os.path.dirname(old_fullfilename) + '/' + 'A3-' + old_filename
print(f"准备改名{new_filename}")
os.rename(old_fullfilename, new_filename)
elif set(i[1].keys()) == set({'A4': 1}.keys()):
old_fullfilename = i[0]
old_filename = os.path.basename(old_fullfilename)
if 'A4' not in old_filename:
new_filename = os.path.dirname(old_fullfilename) + '/' + 'A4-' + old_filename
os.rename(old_fullfilename, new_filename)
def dragEnterEvent(self, event):
......
list_filenameandsize = [] # 存储所有的仅有A3或A4的文件列表,包含完整文件路径和其尺寸。[['D:/own/pdf尺寸统计工具相关/演示/根目录/目录1/目录.pdf', {'A3': 1}]]
for f in file_path:
......
# dict_temp中如果仅有{'A3': 1}或{'A4': 1},这样的A3,A4尺寸时,将文件完整路径加入list_filenameandsize列表中,准备将这些文件名前增加A3或A4字样。
# dict_temp可能为单个文件:{'A4': 59}、{'A0': 1}、{'A3': 1}、{'A0+1/2': 1}、{' 未知尺寸': 1}、{' 未知尺寸': 25},组合文件:{'A1': 36, 'A4': 2}
if len(dict_temp) == 1 and (set(dict_temp.keys()) == set({'A3': 1}.keys()) or set(dict_temp.keys()) == set({'A4': 1}.keys())):
list_filenameandsize.append([f, dict_temp])
print(f"421行循环体内的list_filenameandsize,包含完整文件名和其尺寸{list_filenameandsize}")
# 将仅包含A3,A4尺寸的文件信息列表,提供给函数,在文件名前增加A3,A4字样。
add_a3ora4_beforefilename(list_filenameandsize)
......
pdf页面尺寸统计(python pyqt)https://blog.csdn.net/liuhui23/article/details/134705396
pdf页面尺寸统计工具的流程图https://blog.csdn.net/liuhui23/article/details/134861113