用作安è£å¾Œè™•ç†çš„ script åˆæ›´å®Œæ•´äº†ä¸€é»žã€‚我還ä¸æœƒåŒ… .deb ,ç‰å¸æœƒäº†ä»¥å¾Œå†æŠŠ script æ“´å……æˆè‡ªå‹•æŠŠ .tar.gz çš„å…§å®¹ä½œæˆ .deb 。
茲列於後:
#!/usr/bin/env python # -*- coding: UTF-8 -*- """ 用來å–代 Intel Compiler 在 Debian 上手動安è£æ™‚, <INSTALLDIR>/bin 目錄內å„指令稿內的安è£ç›®éŒ„ä½ç½®ã€‚ $Id: icinstconv.py,v 1.1 2005/06/22 09:41:48 yungyuc Exp $ """ class parameters: """ 處ç†æŒ‡ä»¤è¡Œå¼•æ•¸ã€‚ """ ######################################################################## # def __init__(self): self.process() def process(self): """ ç›®å‰æ²’有任何è¦è™•ç†çš„引數。 """ from optparse import OptionParser, OptionGroup op = OptionParser( usage = "usage: %prog <dir>", version = "%prog, $Revision: 1.1 $" ) self.op = op (self.options, self.args) = self.op.parse_args() params = parameters() # ######################################################################## ######################################################################## # 給 Intel C Compiler 用的å–代資訊 ORIGTAG = "<INSTALLDIR>" # ######################################################################## def subs(old, new, fn): """ 執行å–ä»£å·¥ä½œçš„å‡½å¼ old: 被å–代å—串 new: æ–°å–代å—串 fn: 工作的目標檔å """ ######################################################################## # import re # 讀å–來æºè³‡æ–™ f = open( fn, 'r' ); orig = f.read(); f.close() # 執行å–代 replaced = re.sub( old, new, orig ) # 把å–代後的整ç†è³‡æ–™å¯«å›žæª”案 f = open( fn, 'w' ) f.write( replaced ) f.close() # ######################################################################## def main(): """ 主函å¼ã€‚ """ ######################################################################## # import sys import os from popen2 import popen2 if len(params.args) < 1: print "請指定è¦è™•ç†çš„目錄。" print "" params.op.print_help() sys.exit(0) # 找出應處ç†çš„檔案 (å) so, si = popen2( 'file %s' % os.path.join(params.args[0], '*') ) scripts = [] for line in so.readlines(): tokens = line.split(':') fn, des = tokens[:2] if des.find('text') != -1: scripts.append(fn) # å°é€™äº›æª”案作å—串å–代 for script in scripts: subs(ORIGTAG, os.getcwd(), script) print script, "processed" # ######################################################################## if __name__ == '__main__': main()
Posted by yungyuc
at 17:45,
0 comment,
0 trackback.
Navigate
- Previous: sarge å’Œ Fedore Core 3 çš„ stack maximum é è¨å¾—ä¸ä¸€æ¨£ @2005/06/22
- Next: Plone Shell @2005/06/22
Add a trackback
Please send trackback to: http://blog.seety.org/everydaywork/2005/6/22/363/trackback/.
Add a comment