影像波段融合的控制台小程序Fusion.exe,需要打开cmd,然后需要在cmd中输入
融合程序路径 影像宽度w 影像高度h 波段数n 影像1路径 影像2路径……影像n路径 融合后影像路径
1
如果只需要波段融合成一副影像,那直接在控制台调用程序并输入参数即可。但这次需要将236幅每6个波段的影像进行波段融合,手动一次次来的话,我选择狗带。
要是把在cmd输入的参数换成变量就好了,我们可以通过for循环和变量可以达到让cmd重复执行相似的命令。
2. 使用python进行批处理
我们这里主要运用了os.system()函数。os模块中的system()函数可以方便地运行其他程序或者脚本。相当于在Windows的cmd窗口中输入的命令。
主要需要4个步骤:
1. 导入os模块
import os
1
2. 输入要执行的命令
command = 'ipconfig' #要执行的命令(这里以命令ipconfig为例),相当于直接在windows的cmd窗口中输入的命令。
1
3. 调用os.system()函数
os.system(command) #调用os.system()函数,参数为上面定义的command.
1
4. for循环1-3 步骤
将代码保存为 自定义文件名.py ,在cmd执行下面命令。
python 自定义文件名.py #注意:安装python时,需要设置环境变量
1
————————————————
版权声明:本文为CSDN博主「Kenighto」
媳妇有无数word文档要替换,百度后发现没有现成的方法。
google后没有太合适的。抄抄写写弄个python脚本换目录下所有word内容,共勉之。
import os
from docx import Document
# 放了一些docx 文件
files_dict ={
"/home/test/a/医疗器械临床试验第一版-设计/": "/home/test/a/医疗器械临床试验第一版-设计/",
"/home/test/a/医疗器械临床试验第一版-管理制度/": "/home/test/a/医疗器械临床试验第一版-管理制度/",
"/home/test/a/医疗器械临床试验第一版-SOP/": "/home/test/a/医疗器械临床试验第一版-SOP/",
"/home/test/a/目录/": "/home/test/a/目录/"
}
replace_dict = {
"XXGNK":"XZDXGWK",
"心血管专业": "心脏大血管外科",
"心血管":"心脏大血管外科",
}
def check_and_change(document, replace_dict):
"""
遍历word中的所有 paragraphs,在每一段中发现含有key 的内容,就替换为 value 。
(key 和 value 都是replace_dict中的键值对。)
"""
for para in document.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_dict.items():
if key in para.runs[i].text:
print(key+"-->"+value)
para.runs[i].text = para.runs[i].text.replace(key, value)
for table in document.tables:
for row in table.rows:
for cell in row.cells:
for para in cell.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_dict.items():
if key in para.runs[i].text:
print(key+"-->"+value)
para.runs[i].text = para.runs[i].text.replace(key, value)
return document
def main():
for old_file_path, new_file_path in files_dict.items():
for name in os.listdir(old_file_path):
print(name)
old_file = old_file_path + name
new_file = new_file_path + name
if old_file.split(".")[1] == 'docx':
document = Document(old_file)
document = check_and_change(document, replace_dict)
document.save(new_file)
print("^"*30)
if __name__ == '__main__':
main()