Python做自动化项目的总结
最近项目上有自动化要求,我选择了用Python,对自己的代码能力提高很有帮助。
- 第一:学东西最快最有效的方法是“用起来”。
- 第二:通过将实际问题细分力度,用Python逐一解决,这样学到的知识掌握的深。
- 第三:不要忘了归纳总结,网上信息泛滥,有个地方能记录你的学习进度和学习心得,对IT从业人员是必要的技能。
心灵鸡汤说完了,这里我记录一下这次项目中用到的Python知识点和重点。
Python如何中途退出一个函数?
sys.exit(0)
Python如何判断文件(夹)存在?
os.path.exists(root_dir)
Python如何改变目录?
os.chdir(new_path)
Python如何延时?
time.sleep(30)
Python如何执行系统命令?
os.system('mycommand.bat')
Python如何判断文件扩展名?
file.endswith(".html")
Python如何删除一个文件夹?
shutil.rmtree(file_path, True ...
每天定时从Mainframe下载gdg文件再上传到ftp
今天要完成一个任务:
任务描述
Step1:从大机(mainframe)上下载指定的gdg最新的2个generation到本地C:\gdg目录下。
Step2:将这些下载下来的gdg文件发送到指定的ftp服务器的/topath/users-4/
目录下面,每天新建一个目录yyyymmdd
用来存放当天的gdg文件。
Step3:不用OPC等大机上面的scheduling工具,用windows的“计划任务”功能即可。
这里是实现以上任务的批处理脚本ftpscript.bat
。放在C:\ftpscript
.bat,之后在windows计划任务里面添加每天定时运行即可。
@echo off
rem 指定mainframe的IP
set mfIP=xxx.xxx.xxx.xxx
rem 指定mainframe用户名
set mfUser=IBMUSER
rem 指定 ...
BAT批处理现学现用
上篇说的是本人在实现报表自动化过程中用到的VBS知识,这篇我打算用来总结在此过程中用到的批处理知识。
批处理里面如何实现延时?
rem 巧妙地利用windows自带的ping命令来达到延时的目的
ping.exe /n 1 127.1>nul
批处理的用户输入校验模块 [这里是校验日期,格式:yyyymm]
@echo off
:input_module
echo Please enter date here:
set /p yyyymm=^<format:yyyymm^> (example:201301):
echo %yyyymm%|findstr ^[1-2][0-9][0-9][0-9][0-1][0-9 ...
VB Script现学现用
这几天需要实现一个报表自动化的功能,用到批处理BAT和VBS的知识,属于现学现用。各种谷歌百度。都说好记性不如烂笔头,我打算花一篇的篇幅来记录用到的VB Script知识,另外用一篇的篇幅来记录用到的BAT批处理知识。希望可以积少成多。
(注意:VBS跟VBA不是一个概念,VBA只有在开启Excel的时候才能运行。)
dim user_id, yyyymm, to_dte_ '定义变量
user_id = wscript.arguments(0) '接收批处理传过来的第一个参数
CAP_user_id = Ucase(user_id) '转换成大写
Select Case Mid(yyyymm,5,2) 'Select/Case的用法 和 字符串截取的方法
Case "01"
' do something here
Case "02" 'If-Then的用法,闰年的判断方法,=,<>,Mod的用法 ...
mainframe平台报表自动化方案实现
这几天,客户提了一个需求如下:
<1>每个月初需要在本地(Windows XP)看上一个月的一个报表。
<2>如果可以随时查看之前任意月份的报表,那更好。
<3>报表数据来源于Mainframe上的表A和表B,需要join操作。
<4>报表结果以excel呈现,有必要的一些格式化和公式以及美化等excel常规操作。
经研究,实现方案如下:
<1>用bat批处理与mainframe交互,交互方式为ftp。包括将本地job送到JES2运行,包括将表A和表B的数据从mainframe上下载到本地。
<2>用vbs处理后期的excel,包括数据导入,单元格格式,公式操作,excel美化,用户提示等等常规的office操作。
<3>用bat批处理来调用vbs,这样bat批处理就把mainframe和vbs串在了一起。
方案优势:
选择这个方案是从用户易用性考虑,客户不需要安装任何软件。批处理和vbs以及excel在xp下面都是自带的。用户只需双击,然后输入查看的报表月份即可。
方案设计图
我用word简单地画了一个方案图:
代码就不放上来了。