- 论坛徽章:
- 0
|
工作中有若干项目,其中的目录结构都很相似,这个程序通过选择编号复制生成文件到其相应的便捷位置。
getInputedPrg函数中那个长行正好用来测试cublog能否装下。这个在blogspot不好调。
[color="#0000ff"][color="#0000ff"]
import [color="#800000"]os
[color="#0000ff"]import [color="#800000"]re
[color="#0000ff"]import [color="#800000"]time
[color="#000000"]aPrg[color="#00c600"]=[color="#000000"][[color="#ff00ff"]'ml1bw'[color="#000000"],[color="#ff00ff"]'cnc'[color="#000000"],[color="#ff00ff"]'enw'[color="#000000"]]
[color="#0000ff"]def [color="#000000"]quotePath (sOrig):
[color="#0000ff"]return [color="#ff00ff"]'"'[color="#00c600"]+[color="#000000"]sOrig[color="#00c600"]+[color="#ff00ff"]'"'
[color="#0000ff"]def [color="#000000"]getInputedPrg():
[color="#0000ff"]while [color="#00c600"]True[color="#000000"]:
[color="#0000ff"]try[color="#000000"]:
[color="#000000"]sPrg[color="#00c600"]=[color="#808000"]raw_input[color="#000000"]([color="#ff00ff"]'Select Project by num,with\n '[color="#00c600"]+ [color="#ff00ff"]' '[color="#00c600"].[color="#808000"]join[color="#000000"]([[color="#ff00ff"]'%d.'[color="#00c600"]%[color="#000000"](i[color="#00c600"]+[color="#000000"]1)[color="#00c600"]+[color="#000000"]aPrg [color="#0000ff"]for [color="#000000"]i [color="#0000ff"]in [color="#808000"]range[color="#000000"]([color="#808000"]len[color="#000000"](aPrg))])[color="#00c600"]+[color="#ff00ff"]' :'[color="#000000"])
[color="#0000ff"]except [color="#ff0000"]EOFError[color="#000000"]:
[color="#0000ff"]print [color="#ff00ff"]'Your Input is EOF,try again.("exit" to exit!)'
[color="#0000ff"]continue
[color="#0000ff"]if [color="#800000"]re[color="#00c600"].[color="#808000"]search[color="#000000"]([color="#ff00ff"]'\D*[1-3]\D*'[color="#000000"],sPrg):
[color="#0000ff"]return [color="#000000"]sPrg
[color="#0000ff"]elif [color="#800000"]re[color="#00c600"].[color="#808000"]search[color="#000000"]([color="#ff00ff"]'exit'[color="#000000"],sPrg,[color="#800000"]re[color="#00c600"].[color="#000000"]I):
[color="#808000"]exit[color="#000000"]()
[color="#0000ff"]else[color="#000000"]:
[color="#0000ff"]print [color="#ff00ff"]'Your Input is not valid,try again.("exit" to exit!)'
[color="#0000ff"]continue
[color="#0000ff"]def [color="#808000"]main[color="#000000"]():
[color="#000000"]sPrgPath[color="#00c600"]=[color="#000000"]aPrg[[color="#808000"]int[color="#000000"](getInputedPrg())[color="#00c600"]-[color="#000000"]1]
[color="#000000"]sSrcPath[color="#00c600"]=[color="#ff00ff"]'D:\Dev\\'[color="#00c600"]+[color="#000000"]sPrgPath[color="#00c600"]+[color="#ff00ff"]'\prg\Workspace_project.xml\Pack ROM\ROMCS1.lbk'
[color="#000000"]sTgtPath[color="#00c600"]=[color="#ff00ff"]'D:\Dev\\'[color="#00c600"]+[color="#000000"]sPrgPath[color="#00c600"]+[color="#ff00ff"]'\lbk\\'
[color="#000000"]sTgtFile[color="#00c600"]=[color="#ff00ff"]"ROMCS1_wjw_"[color="#00c600"]+[color="#800000"]time[color="#00c600"].[color="#808000"]strftime[color="#000000"]([color="#ff00ff"]'%Y-%m-%d^%H-%M'[color="#000000"])[color="#00c600"]+[color="#ff00ff"]".lbk"
[color="#000000"]sCmdCopy [color="#00c600"]=[color="#ff00ff"]' '[color="#00c600"].[color="#808000"]join[color="#000000"]([[color="#ff00ff"]'copy'[color="#000000"],quotePath(sSrcPath),quotePath(sTgtPath[color="#00c600"]+[color="#000000"]sTgtFile)])
[color="#0000ff"]print [color="#000000"]sCmdCopy
[color="#0000ff"]if [color="#800000"]os[color="#00c600"].[color="#808000"]system[color="#000000"](sCmdCopy)[color="#00c600"]==[color="#000000"]0: [color="#008080"]# 0 means
[color="#000000"]sCmdOpen[color="#00c600"]=[color="#ff00ff"]"start "[color="#00c600"]+[color="#000000"]sTgtPath
[color="#0000ff"]print [color="#000000"]sCmdOpen
[color="#800000"]os[color="#00c600"].[color="#808000"]system[color="#000000"](sCmdOpen
[color="#000000"]) [color="#800000"]os[color="#00c600"].[color="#808000"]system[color="#000000"]([color="#ff00ff"]"exit"[color="#000000"])
[color="#0000ff"]print [color="#ff00ff"]"Copy successful!"
[color="#0000ff"]pass
[color="#0000ff"]else[color="#000000"]:
[color="#0000ff"]print [color="#ff00ff"]"Failed!Check for your command!"
[color="#808000"]main[color="#000000"]()
sCmdOpen几句是为了打开windows窗口。在执行命令行时发现:
start "D:\Dev\ml1bw\lbk\" 打开命令行窗口
start 'D:\Dev\ml1bw\lbk\' 不被识别
start D:\Dev\ml1bw\lbk\ 打开浏览器窗口,但是用os.system调用将会导致命令行窗口当机!---后来发现原来是系统正在打开Windows窗口,晕了,开了个贼占资源的东西
![]()
...
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28253/showart_214633.html |
|