- 警示信息及打斷前後平面LinkNode拷貝到打斷數據包中
#-*- coding: utf-8 -*-
import os
import shutil
#批量處理的60個城市
city_names=os.listdir(r"D:\PythonCode_inWork\02打斷數據包自動生成\19Q4G2_EX2_DATA\copyfrom\02prjROAD")
#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
link_node_LIST.append(copy_file_LINK)
copy_file_NODE = 'RD_NODE' + type
link_node_LIST.append(copy_file_NODE)
for city in city_names:
#【輸入】
#01警示信息路徑
copyfrom_dir_WARNING = 'D:/PythonCode_inWork/02打斷數據包自動生成/19Q4G2_EX2_DATA/copyfrom/01WARNING/'
#02打斷前平面link&node
copyfrom_dir = 'D:/PythonCode_inWork/02打斷數據包自動生成/19Q4G2_EX2_DATA/copyfrom/02prjROAD/'+city+'/'
#03打斷後平面link&node
copyfrom_dir_EX2 = 'D:/PythonCode_inWork/02打斷數據包自動生成/19Q4G2_EX2_DATA/copyfrom/03prjROAD_EX/'+city+'/'
#【輸出:成果打斷包路徑】
copyto_dir = 'D:/PythonCode_inWork/02打斷數據包自動生成/19Q4G2_EX2_DATA/copyto/19Q4G2_EX2/'+city+'/'
#新建打斷包文件夾
os.mkdir(copyto_dir)
#01遍歷拷貝警示信息文件——不用改名
warning_files = os.listdir(copyfrom_dir_WARNING)
for warning in warning_files:
#路徑+文件名
old_filename_WARNING = copyfrom_dir_WARNING + warning
new_filename_WARNING = copyto_dir + warning
shutil.copyfile(old_filename_WARNING,new_filename_WARNING)
#print(city+'警示信息拷貝完成!')
print(city+'全部警示信息拷貝完成!')#一個城市的全部警示信息拷貝完纔打印
#02遍歷拷貝RD_LINK、RD_NODE文件——並改名爲相應打斷前、後
for link_node_file in link_node_LIST:
#——————————————LINK/NODE源數據——copyfrom————————————————————————
#打斷前
old_filename = copyfrom_dir + link_node_file
#打斷後——#注意拷貝前文件名是否添加了"打斷後"
old_filename_EX2 = copyfrom_dir_EX2 + link_node_file
#old_filename_EX2 = copyfrom_dir_EX2 + link_node_file[0:2] + '打斷後' + link_node_file[-9:]
#——————————————LINK/NODE打斷包數據——copyto————————————————————
#打斷前
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 + 'LINK、NODE拷貝完成')
print(city +'全部LINK、NODE拷貝完成')
print('打斷數據包已全部生成!')
- 將打斷包成果中60個城市拷貝到所屬作業組文件夾下
#-*- coding: utf-8 -*-
import os
import shutil
#批量處理的60個城市
#city_names=os.listdir(r"")
ls_TY=['ZHONGSHAN', 'FOSHAN', 'BEIJING', 'NANJING', 'DALIAN', 'XUZHOU',
'CHENGDU', 'WUXI', 'WUHAN', 'SHENYANG', 'QUANZHOU', 'SHENZHEN',
'ZHUHAI', 'YANCHENG', 'SHIJIAZHUANG', 'FUZHOU', 'QINHUANGDAO',
'WUHU', 'XINING', 'CHONGQING', 'YINCHUAN', 'CHANGCHUN']
ls_HZ=['LANZHOU', 'NANTONG', 'HUHEHAOTE', 'HUIZHOU', 'YANGZHOU',
'SUZHOU', 'XIAN', 'JINHUA', 'JINAN', 'SHAOXING']
ls_TJ=['SANYA', 'SHANGHAI', 'WULUMUQI', 'BAODING', 'NANCHANG',
'XIAMEN', 'TAIZHOU', 'HEFEI', 'HAERBIN', 'TANGSHAN', 'TIANJIN',
'TAIYUAN', 'WENZHOU', 'YANTAI', 'GUIYANG', 'ZHENGZHOU', 'QINGDAO']
ls_CS=['DONGGUAN', 'NANNING', 'NINGBO', 'CHANGZHOU', 'GUANGZHOU',
'KUNMING', 'HANGZHOU', 'LIUZHOU', 'WEIFANG', 'CHANGSHA']
ls_YS=['HAIKOU']
groupDict = {'圖源組':ls_TY,'杭州組':ls_HZ,'天津組':ls_TJ,'長沙組':ls_CS,'驗收組':ls_YS}
#num城市數,groupCityLs作業組城市列表,Root根目錄,groupName作業組名稱
def CopyBag(groupCityLs,copyFromRoot,copyToRoot,groupName):
num = 0
for city in groupCityLs:#作業組城市列表
copyFromDir = copyFromRoot + '\\' + city
copyToDir = copyToRoot + '\\' + groupName + '\\' + city
shutil.copytree(copyFromDir,copyToDir)
num += 1
print(groupName + str(num) + '城市打斷包拷貝完成!')
return num
#將打斷包拷貝到對應作業組下
copyFromRoot = r"D:\PythonCode_inWork\02打斷數據包自動生成\19Q4G2_EX2_DATA\copyto\19Q4G2_EX2\\"
copyToRoot = r"D:\PythonCode_inWork\02打斷數據包自動生成\19Q4G2_ROAD_EX2_GROUP\\"
num_ALL = 0
for groupName in groupDict:
print(groupName)
os.mkdir(copyToRoot + groupName)
#注意接收函數返回之時,函數執行一次
num = CopyBag(groupDict[groupName],copyFromRoot,copyToRoot,groupName)
num_ALL += num
print(str(num_ALL)+'城市打斷包已拷貝完成!')