python - 使用 Python 以递归方式将 .pgsql 重命名为 .sql 文件
问题描述
我正在尝试重命名 Windows 10 pro 上的 github repo 目录中的多个文件
文件扩展名是“.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/'
解决方案
你可以使用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)
推荐阅读
- python - 是否可以将模型对象连接到 celery 任务?
- google-sheets - 导入范围查询:10秒以下的时长条件
- reactjs - 如何使用 jest 和酶导入具有模拟数据的手动模拟模块?
- matlab - 在 Matlab 中循环 Sortino 比率
- java - SocketException:JRE 1.6 上的连接重置,而不是 JRE 11
- blazor - Blazor MatMenu 在 foreach 循环中的所有菜单中取最后一个值
- css - 无法删除 CSS 属性:最大宽度:1200px
- javascript - 在我的 Angular 8 项目中集成谷歌地图时遇到一些问题
- reactjs - 更改反应选择中的选定值组件
- rest - 如何获取任何 REST API 的预期参数?