- 警示信息及打断前后平面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)+'城市打断包已拷贝完成!')