免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1829 | 回复: 0
打印 上一主题 下一主题

Python实践:根据项目复制目标文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-13 10:08 |只看该作者 |倒序浏览

                                                                                                                                                                工作中有若干项目,其中的目录结构都很相似,这个程序通过选择编号复制生成文件到其相应的便捷位置。
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP