首页 > 解决方案 > 用日期重命名多个文件名

问题描述

我想请你帮忙用日期重命名多个文件。我有 netcdf 文件“wrfoutput_d01_2016-08-01_00:00:00”直到“wrfoutput_d01_2016-08-31_00:00:00”,因为输出来自 Linux,Windows 不会读取这些文件。我想将文件名更改为“wrfoutput_d01_2016-08-01_00”,直到“wrfoutput_d01_2016-08-31_00”。我如何使用 python 做到这一点?

编辑:

包含文件夹有两组文件。一个用于域 1,用 d01,wrfoutput_d01_2016-08-31_00 :00:00 表示,另一组用 d02,wrfoutput_d02_2016-08-31_00 :00:00 表示。d01 的文件总数为 744,因为时间步长输出与 d02 每小时相同。

我想每小时重命名每一天。比如说,wrfoutput_d01_2016-08-01_00:00:00, wrfoutput_d01_2016-08-01_01:00:00,... 到 wrfoutput_d01_2016-08-01_00, wrfoutput_d01_2016-08-01_01,...

我看到了一个允许我访问特定文件的代码,例如 d01 或 d02。

import os
from netCDF4 import Dataset
from wrf import getvar

filedir = "/home/gil/WRF/Output/August/"
wrfin = [Dataset(f) for f in os.listdir(filedir)
        if f.startswith("wrfout_d02_")]

在这段代码之后,我被卡住了。

标签: python

解决方案


首先获取文件名,给出文件夹路径 ( '/home/user/myfolder...'),然后重命名它们。

import os
import re
filenames = os.listdir(folder_path)

for fn in filenames:
    os.rename(fn, re.sub(':','-',fn))

推荐阅读