40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
import pymysql
|
|
import os
|
|
|
|
target_path = 'F:/dl/ERA5'
|
|
|
|
|
|
def get_file_name_dict():
|
|
file_name_dict = {}
|
|
db = pymysql.connect(host='47.113.231.200', port=28089,
|
|
user='root', passwd='passok123A', db='jd_data', charset='utf8mb4')
|
|
cursor = db.cursor()
|
|
sql_select = "SELECT data_year, data_month, data_variable, download_url FROM jd_data.era5_detail;"
|
|
cursor.execute(sql_select)
|
|
result = cursor.fetchall()
|
|
cursor.close()
|
|
db.close()
|
|
for line in result:
|
|
raw_name = line[3].split('/')[-1]
|
|
target_name = f'{line[0]}-{line[1]}-{line[2]}.nc'
|
|
file_name_dict[raw_name] = target_name
|
|
return file_name_dict
|
|
|
|
|
|
def rename_file(name_dict):
|
|
counter = 0
|
|
for dir_name in os.listdir(target_path):
|
|
for file_name in os.listdir(os.path.join(target_path, dir_name)):
|
|
counter += 1
|
|
if file_name in name_dict:
|
|
new_name = name_dict[file_name]
|
|
print("[No. {}] 文件{}对应的表记录为:{}".format(counter, file_name, new_name))
|
|
# os.rename("/".join([target_path, file_name]), "/".join([target_path, new_name]) + ".zip")
|
|
else:
|
|
print("[No. {}] 未找到文件{}对应的表记录".format(counter, file_name))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
target_name_dict = get_file_name_dict()
|
|
rename_file(target_name_dict)
|