打斷資料報生成

2021-09-27 10:45:09 字數 4271 閱讀 2729

#-*- 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

copy_file_node = 'rd_node' + type

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('打斷資料報已全部生成!')

#-*- 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 =

#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)+'城市打斷包已拷貝完成!')

用python scapy生成網路資料報

協議測試是網路程式設計中乙個重要環節,通過協議測試確保通訊雙方對協議的理解和實現是一致的。wireshark是強大的網路協議分析工具,能夠捕獲網路資料並進行協議解析,可是光有這個還不夠,還需要能夠生成指定內容的網路資料報的工具 packet forging generation crafting t...

資料報格式 USB資料報解析

由域構成的包有四種型別,分別是令牌包 資料報 握手包和特殊包,前面三種是重要的包,不同包的域結構不同,介紹如下 1 令牌包 分為輸入包 輸出包 設定包和幀起始包 注意這裡的輸入包是用於設定輸入命令的,輸出包是用來設定輸出命令的,而不是放資料的 其中輸入包 輸出包和設定包的格式都是一樣的 sync p...

資料包表多種序號生成方式

報表系統中,往往要對資料進行編號處理,從而使資料的條目更加清晰。在 excel 中,我們可以直接在乙個單元格中輸入 1,然後按住 ctrl 向下拖拽單元格就可以自動生成連續的序號。不過除了連續的序號,實際情況中我們還會有其它對序號的需求,例如組內序號,或者是隱藏某些行之後顯示連續或不連續的序號,這些...