利用Pyhton實現多路徑檔案批量拷貝

2021-09-11 04:47:25 字數 3163 閱讀 7217

問題:將源資料中分類別分城市存放的資料檔案,拷貝到乙個以城市命名的資料夾中。

即殊途同歸拷貝。

源資料:

如下圖,源資料報含3種分類的資料夾。

其中01中的資料不分城市,所有城市通用。

02與03中資料分城市存放,且結構相同,後續截圖以保定為例。

成果:

分城市的成果資料報,以保定為例:

小指令碼:

#-*- coding: utf-8 -*-

import os

import shutil

#from city_dictionary import city_names

city_names =['三亞', '上海', '東莞', '中山', '烏魯木齊', '佛山', '保定', '蘭州', '北京', '南京', '南寧',

'南昌', '南通', '廈門', '台州', '合肥', '呼和浩特', '哈爾濱', '唐山', '大連', '天津', '太原', '寧波',

'常州', '廣州', '徐州', '惠州', '成都', '揚州', '無錫', '昆明', '杭州', '柳州', '武漢', '瀋陽', '泉州',

'濟南', '海口','深圳', '溫州', '濰坊', '煙台', '珠海', '鹽城', '石家莊', '福州', '秦皇島', '紹興', '蕪湖',

'蘇州', '西寧', '西安', '貴陽', '鄭州', '重慶', '金華', '銀川', '長春', '長沙', '青島']

#rd_link、rd_node所有字尾的檔案存入列表

link_node_list =

file_type = ['.dbf','.prj','.sbn','.sbx','.shp','.shx']

for type in file_type:

copy_file_link = 'rd_link' + type

copy_file_node = 'rd_node' + type

for city_chinese in city_names:

#輸入#01警示資訊路徑

copyfrom_dir_warnin = 'd:/pythoncode_inwork/02打斷資料報自動生成/ex2_data/copyfrom/01warning/'

#02打斷前link&node

copyfrom_dir = 'd:/pythoncode_inwork/02打斷資料報自動生成/ex2_data/copyfrom/02road/'+city_chinese+'/'

#03打斷後link&node

copyfrom_dir_ex2 = 'd:/pythoncode_inwork/02打斷資料報自動生成/ex2_data/copyfrom/03road_ex/'+city_chinese+'/'

#輸出:成果打斷包路徑

copyto_dir = 'd:/pythoncode_inwork/02打斷資料報自動生成/ex2_data/copyto/19q1/'+city_chinese+'/'

#遍歷拷貝警示資訊檔案——不用改名

warning_files = os.listdir(copyfrom_dir_warnin)

for warning in warning_files:

#路徑+檔名

old_filename_warning = copyfrom_dir_warnin + warning

new_filename_warning = copyto_dir + warning

shutil.copyfile(old_filename_warning,new_filename_warning)

#print(city_chinese+'警示資訊拷貝完成!')

print(city_chinese+'全部警示資訊拷貝完成!')#乙個城市的全部警示資訊拷貝完才列印

#遍歷拷貝rd_link、rd_node檔案——並改名為相應打斷前、後

for link_node_file in link_node_list:

#——————————————link/node源資料————————————————————————

#打斷前

old_filename = copyfrom_dir + link_node_file

#打斷後

old_filename_ex2 = copyfrom_dir_ex2 + link_node_file

#——————————————link/node打斷包資料————————————————————

#打斷前

new_filename = copyto_dir + link_node_file[0:2] + '打斷前' + link_node_file[-9:]

#打斷後

new_filename_ex2 = copyto_dir + link_node_file[0:2] + '打斷後' + link_node_file[-9:]

#——————————————拷貝處理———————————————————————————————

#打斷前

shutil.copyfile(old_filename,new_filename)

#打斷後

shutil.copyfile(old_filename_ex2,new_filename_ex2)

#print(city_chinese + 'link、node拷貝完成')

print(city_chinese +'全部link、node拷貝完成')

print('打斷資料報已全部生成!')

MySQL ibdata多路徑擴容

vi etc my.cnf innodb data home dir innodb data file path data mysql ibdata1 10m autoextend 為目前ibdata情況 root he1 mysql mkdir p data2 mysql root he1mysq...

Windows MPIO多路徑配置

需要對mpio進行相應的配置才能讓其接管儲存系統。查詢裝置vid和pid。vid vendor id,廠商id。例如huawei等。pid product id,產品id。例如s5500t s5600t。安裝mpio多路徑後,windows 2008及後續版本的作業系統提供mpclaim多路徑命令可...

linux啟用iscsi多路徑

iscsi服務端 iscsi target伺服器雙ip分別為10.72.12.101和10.72.12.103 iscsi客戶端 首先使用yum或zypper安裝open iscsi 查詢可使用的iscsi節點 rac1 iscsiadm m discovery t sendtargets p 10...