今天写了有生以来第一个python程序。之所以选用python,是看中脚本不需要编译,修改比较方便。本来可供选择的还有dos批处理,vbscript,powershell,perl等。dos批处理处理字符串太麻烦,能不用就不用;vbscript和powershell以前写过简单的程序,不想深入;perl本来是我想学的语言,但现在是python比较时髦,所以最后还是选用了python。
因为太简单,连函数都没用,只是一个代码块,虽然不是“hello world”。功能是清除UltraEdit的查找历史。这个程序完全是靠不断查找搜索引擎完成的,说明:
1.对于python及类似的过程式语言,稍微查一下语法就能动手编程了。搜索引擎大体上可以代替书。
2.前面说过的,一定要动手做,就会发现问题。而且要做出有实用价值的程序。开始的时候碰到字符编码的问题,查资料,修改代码,调试通过。这样学到的比较实在。感到有时候学习的困难倒还不在于程序难写,而是没有好的需求,没有动力学。
from tempfile importmkstempfrom shutil importmoveimportos
file_path= r'C:\Users\foo\AppData\Roaming\IDMComp\UltraEdit\Uedit32.INI'
ifos.path.exists(file_path): fh, abs_path =mkstemp()
isHistory=False
with os.fdopen(fh,'w', encoding='utf-8') as new_file:
with open(file_path, encoding='utf-8') as old_file:for line inold_file:if line.find('Find History') > -1:
new_file.write(line)
isHistory=Trueif isHistory ==False:
new_file.write(line)elif line.strip() == '':
new_file.write(line)
isHistory=False
os.remove(file_path)
move(abs_path, file_path)