当前位置: 首页 > news >正文

做网站有包括哪些东西/整站优化加盟

做网站有包括哪些东西,整站优化加盟,中山建网站推荐,山东烟台疫情最新数据许多操作需要选择很多文件,但经典版的ENVI中可以以文件路径的形式导入 使用Python脚本生成文件路径 文章目录列出指定文件夹下指定类型的文件文件夹重命名自动下载哨兵的精轨数据哨兵数据导入-生成导入参数生成裁剪参数列出指定文件夹下指定类型的文件 # -*- codin…

许多操作需要选择很多文件,但经典版的ENVI中可以以文件路径的形式导入
使用Python脚本生成文件路径

文章目录

  • 列出指定文件夹下指定类型的文件
  • 文件夹重命名
  • 自动下载哨兵的精轨数据
  • 哨兵数据导入-生成导入参数
  • 生成裁剪参数

列出指定文件夹下指定类型的文件

# -*- coding:utf-8 -*-
# 列出指定文件夹下指定类型的文件
import ospath = r'J:\sentinel404075-process\1_import'for parent,dirnames,filenames in os.walk(path):for file in filenames:if file.endswith("SIW1_A_VV_slc_list"):print os.path.join(parent,file)

文件夹重命名

# -*- coding:utf-8 -*-
# 重命名 将文件夹中的空格修改为_
import ospath = r'J:\sentinel-process-40_40_75\1_import'for parent,dirnames,filenames in os.walk(path):for dirname in dirnames:if dirname=="1 Import":whole_path = os.path.join(parent,dirname)new_name = os.path.join(parent,"1_import")os.rename(whole_path,new_name)

自动下载哨兵的精轨数据

# -*- coding:utf-8 -*-
# Author:PasserQi
# Time:2019-4-5
# 下载文件夹下哨兵数据的精轨数据
# 须知:文件夹下的哨兵数据需解压。不想解压可以修改程序的第43行,.SAFE该为.zip
import urllib
from bs4 import BeautifulSoup
import re
import os
import datetime
import time# 需要修改的参数
dir_path = r'G:\Sentinel-original data\Orbit40-path40\Frame75-11\added_20180105\SourceData' # 哨兵数据存在的目录
out_path = r'C:\Users\PasserQi\Desktop' #精轨数据保存的目录
FILE_TYPE = ".SAFE" #文件格式:.SAFE .zip
IsDownload = True #是否下载:True Falsedownload_urls = []
error_url = []
url_prefix = 'https://qc.sentinel1.eo.esa.int/aux_poeorb/' #下载地址
def download(dest_dir, url):print "正在下载:{}\n\t至{}\n".format(url, dest_dir)try:urllib.urlretrieve(url, dest_dir, callbackfunc)except:error_url.append(url)print '\tError retrieving the URL:', dest_direlse: # 没有异常print "\t[done]"if url in error_url: #在错误列表里error_url.remove(url)
def callbackfunc(blocknum, blocksize, totalsize):'''回调函数@blocknum: 已经下载的数据块@blocksize: 数据块的大小@totalsize: 远程文件的大小'''percent = 100.0 * blocknum * blocksize / totalsizeif percent > 100:percent = 100print "%.2f%%"% percentdef get_yestoday(mytime):myday = datetime.datetime( int(mytime[0:4]),int(mytime[4:6]),int(mytime[6:8]) )delta = datetime.timedelta(days=-1)my_yestoday = myday + deltamy_yes_time = my_yestoday.strftime('%Y%m%d')return my_yes_timeif __name__ == '__main__':# 获得filesfiles = os.listdir(dir_path)#files = [#   "S1A_IW_SLC__1SDV_20180201T101712_20180201T101742_020412_022E1C_43FD.SAFE",#   "S1A_IW_SLC__1SDV_20180213T101712_20180213T101742_020587_0233BB_CA75.SAFE",#   "S1A_IW_SLC__1SDV_20180309T101712_20180309T101742_020937_023ED6_693E.SAFE",#   ]for file in files:if not file.endswith(FILE_TYPE):continue# ############################ 按文件名上的信息查找EOF# 拼接URLurl_param_json = {}url_param_json['sentinel1__mission'] = file[0:3]date = re.findall(r"\d{8}",file)[0]# 若参数为20170316,则搜索的是20170317的数据# 所以参数应该提前一天# 求date的前一天date = get_yestoday(date)# 在字符串指定位置插入指定字符# 例:20170101 --> 2017-01-01tmp = list(date)tmp.insert(4,'-');tmp.insert(7,'-')date = "".join(tmp)url_param_json['validity_start'] = date# 获得EOF下载网址url_param = urllib.urlencode(url_param_json) #url参数url = 'https://qc.sentinel1.eo.esa.int/aux_poeorb/?%s' % url_param #拼接print "url:{}".format(url)html = urllib.urlopen(url)  # 获取htmldom = BeautifulSoup(html) # 解析html文档a_list = dom.findAll("a")  # 找出<a>eof_lists = [a['href'] for a in a_list if a['href'].endswith('.EOF')]  # 找出EOFfor eof in eof_lists:if IsDownload:eof_name = eof.split('/')[-1] #名字savefile = os.path.join(out_path, eof_name) #保存路径download(savefile, eof)else:download_urls.append(eof)if IsDownload: #下载print "------------------------------------"print "开始下载出错的数据"# 下载出错的数据重新下载while len(error_url)!=0:print "出错的数据有"print error_urlfor eof in error_url:savefile = os.path.join(out_path, eof)download(savefile, url_prefix + eof)print "全部下载成功,无出错文件"else: #不下载with open(os.path.join(out_path, u"下载链接.txt"), "w+") as f:for eof in download_urls:f.write(eof)f.write("\n")f.close()

哨兵数据导入-生成导入参数

# -*- coding:utf-8 -*-
# Author:PasserQi
# Python:2.7
# Time:
#       2018-01-13 v1 创建 生成哨兵数据导入参数
#       2019-04-04 v1.1 修改
import re
import os
import datetime
import json# 需要修改的参数
safe_path = r'G:\xiamen_20190403\1safe'     #哨兵数据存在的目录
eof_path = r'G:\xiamen_20190403\1eof'       #精轨数据存在的目录
out_path = r'G:\xiamen_20190403\2import'    #输出文件夹
again_generate = False# False:第一次导入# True: 二次导入--从ERRORS中导入def get_yestoday(mytime):myday = datetime.datetime( int(mytime[0:4]),int(mytime[4:6]),int(mytime[6:8]) )delta = datetime.timedelta(days=-1)my_yestoday = myday + deltamy_yes_time = my_yestoday.strftime('%Y%m%d')return my_yes_timedef save_json(dir, fn, obj):""" 将Python对象保存成JSON文件:param dir::param fn::param obj::return:"""import osfp = os.path.join(dir, fn + '.json')if os.path.exists(fp): #原来有,删掉os.remove(fp)with open(fp, 'w+') as f:json.dump(obj, f, indent=4)f.close()return fpeof_datas = []
datas = []
def gen_params(again_generate):safe_datas = []if again_generate: #从ERRORS导入with open(os.path.join(out_path, "errors.json"), "r") as f:safe_datas = json.load(f)else: #第一次导入# 得到safe文件files = os.listdir(safe_path)for file in files:if file.endswith(".SAFE"):safe_datas.append(file)out_str = ""# 得到eof文件files = os.listdir(eof_path)for file in files:if file.endswith(".eof") or file.endswith(".EOF"):eof_datas.append(file)cnt = 0errors = []for safe_data in safe_datas:# 获得数据日期date = re.findall(r"\d{8}", safe_data)[0]# 获得前一天的日期yestoday_date = get_yestoday(date)# 找到对应的eof文件isFound = Falsefor eof_data in eof_datas:if yestoday_date in eof_data:datas.append({"date": date,"safe_data": os.path.join(safe_path, safe_data),"eof_data": os.path.join(eof_path, eof_data),"out_path": os.path.join(out_path, date)})eof_datas.remove(eof_data)isFound = Truebreakif isFound == False:  # 没有EOF文件errors.append(safe_data)out_str += "\n--------Input file list(哨兵数据列表)--------\n"for data in datas:out_str += "%s\\manifest.safe\n" % data["safe_data"]out_str += "\n--------Orbit list(EOF数据列表)--------\n"for data in datas:out_str += data["eof_data"] + "\n"out_str += "\n--------Output file list(输出列表)--------\n"for data in datas:out_str += "%s\\sentinel1\n" % data["out_path"]out_str += "\n--------没有找到以下数据的EOF--------\n"out_str += "[\n"for error in errors:out_str += '"{}",\n'.format(error)out_str += "]\n"if again_generate:fp = os.path.join(out_path, 'import_params2.txt')else:fp = os.path.join(out_path, "import_params1.txt")with open(fp, "w+") as f:f.write(out_str)f.close()print "[done] 请查看文件:{}".format(fp)# 保存ERRORS数据save_json(out_path, "errors", errors)if __name__ == '__main__':gen_params(again_generate)

生成裁剪参数

# -*- coding:utf-8 -*-
# 生成裁剪参数
import ospath = r'J:\ningbo\1_import'
out_path = r""
FILE_NAME_END = "VV_slc_list"files = []
out_files = []
i = 0
for parent,dirnames,filenames in os.walk(path):for file in filenames:if file.endswith(FILE_NAME_END):i += 1# intputfp = os.path.join(parent, file)files.append(fp)# outputdate_str = fp.split("\\")[-2]out_fp = os.path.join(out_path, date_str)out_fp = os.path.join(out_fp, file + "_cut")out_files.append(out_fp)with open(os.path.join(out_path, "sub_params_list.txt"), "w+") as fp:fp.write("\n---------input list---------\n")for file in files:fp.write("{}\n".format(file) )fp.write("\n---------output list---------\n")for file in out_files:fp.write("{}\n".format(file))fp.close()print "[done] {}个文件".format(i)
http://www.lbrq.cn/news/1546921.html

相关文章:

  • 怎么引导做淘宝的客户做官方网站/无锡百度关键词优化
  • 宁夏网站建设中/seo百家论坛
  • 自己做网站 怎么赚钱/百度热榜排行
  • 0投资一天赚80/什么是seo关键词
  • 网站开发软硬件配置/百度seo权重
  • 做网站入门看什么书/个人网站如何优化关键词
  • wordpress博客非插件/优化大师手机版下载
  • 深圳找个做网站平台的/市场调研表模板
  • 邢台网站设计哪家专业/网站建设与管理就业前景
  • 学校建设网站/steam交易链接可以随便给别人吗
  • 登录自治区建设厅的网站查询/宁波网络推广seo软件
  • 北京网站建设学校/网站怎么提升关键词排名
  • 网站建设有哪些公司/sem技术培训
  • 合肥网站备案/百度推广官方电话
  • 网站后台显示不了/网络推广外包流程
  • 怎么做网站统计/厦门人才网官网招聘
  • 省政府网站建设/企业培训平台
  • 做百度推广送的网站/种子资源
  • 松原市住房和城乡建设局网站/太原关键词优化公司
  • 公司做网站计入什么科目/360搜索首页网址是多少
  • 永州网站建设开发/app推广工作靠谱吗
  • 淘宝客网站静态还是动态好/云客网平台
  • 网站备案免费的吗/seo的课谁讲的好
  • 专业医疗网站建设/巨量引擎广告投放平台代理
  • 工业外观设计/seo有哪些优缺点?
  • wordpress整站密码访问/网站seo推广公司靠谱吗
  • 龙华做网站的/自助建站工具
  • 简单网站建设/怎样做网站推广
  • 手机网站赏析/广州企业网站建设
  • 那些网站是做俄罗斯鞋子/手机怎么做网站
  • 数据迁移:如何从MySQL数据库高效迁移到Neo4j图形数据库
  • JavaSE——高级篇
  • Android Cutout(屏幕挖孔)详解
  • RAG 分块中表格填补简明示例:Markdown、HTML、Excel、Doc
  • Mitt 事件发射器完全指南:200字节的轻量级解决方案
  • 机器学习——PCA算法