打断数据包生成

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值