簡體   English   中英

包含子文件夾的文件夾,其中包含多個文件(.xlsm,.pdf,.txt)。 如何將.pdf文件重命名為子文件夾的名稱?

[英]Folder containing subfolders, that contain multiple files (.xlsm, .pdf, .txt). How to rename .pdf files to subfolders' name?

這可以用python完成,但是我想我缺少一種為所有目錄循環的方法。 這是我正在使用的代碼:

import os
 def renameInDir(directory):  
    for filename in os.listdir(directory):
      if filename.endswith(".pdf"):
        path = os.path.realpath(filename)
        parents = path.split('/') //make an array of all the dirs in the path. 0 will be the original basefilename
        newFilename=os.path.dirname(filename)+directory +parents[-1:][0] //reorganize data into format you want 
        os.rename(filename, newFilename)//rename the file

您應該使用os.walk() 它將通過給定的目錄參數映射目錄樹,並生成文件名。

使用os.walk(),您將通過以下方式完成所需的結果:

import os
from os.path import join
for dirpath, dirnames, filenames in os.walk('/path/to/directory'):
    for name in filenames:
        new_name = name[:-3] + 'new_file_extension'
        os.rename(join(dirpath, name), join(dirpath, new_name))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM