使用Python递归将.pgsql重命名为.sql文件

时间:2019-09-13 16:32:07

标签: python python-3.x windows

我正在尝试在Windows 10专业版的github存储库目录中重命名多个文件

文件扩展名是“ .pgsql”(旧)和“ .sql”(重命名为)

我正在使用vscode(最新)和python 3.7(最新)

我可以一次完成一个文件夹,但是每当尝试任何递归目录代码时,我都会在这里查找它。

当前仅在单个目录下工作

#!/usr/bin/env python3
import os
import sys

folder = 'C:/Users/YOURPATHHERE'
for filename in os.listdir(folder):
       infilename = os.path.join(folder,filename)
       if not os.path.isfile(infilename): continue
       oldbase = os.path.splitext(filename)
       newname = infilename.replace('.pgsql', '.sql')
       output = os.rename(infilename, newname)

例如,我希望它以递归方式从目录中开始,并且仅更改Windows中所有子目录中指定为.sql的文件扩展名

folder = 'C:/Users/username/github/POSTGRESQL-QUERY/'

1 个答案:

答案 0 :(得分:1)

您可以使用os.walk()

import os

folder = 'C:/Users/YOURPATHHERE'
for root, dirs, files in os.walk(folder):
    for filename in files: 
        infilename = os.path.join(root,filename)
        newname = infilename.replace('.pgsql', '.sql')
        output = os.rename(infilename, newname)