zoukankan      html  css  js  c++  java
  • 让电脑帮我写点代码(脚本字符串)

    写程序用到了配置文件,感觉lua比较适合,就选lua了。
    开始时所有配置都从文件加载,直接调用一个函数就OK了,后来考虑到如果配置文件不存在的话程序也要正常运行,所以程序需要默认配置。
    可我不想改变原来的结构,考虑将默认的配置脚本以字符串的形式硬编码在程序里面,这时遇到一个问题 :默认配置大概6~7K的大小,如果一行行的敲,那感觉肯定是非常不爽……

    这重复性的劳动就交给电脑做吧,最后决定将这部分代码让电脑写(我之前写过了,它照着抄就是了 *_*)……
    可它不写啊,那好吧,我写个python代码教它吧:

     1 #! /usr/bin/python
    2 # fileName : writeCode.py
    3 # Author : Mike
    4 # E-Mail : Mike_Zhang@live.com
    5
    6 import string
    7
    8 endLinePos = -1 # windows '\n'
    9 #endLinePos = -2 # Linux '\r\n'
    10
    11 fin = file("cnf.lua","r")
    12 fout = file("code.cpp","w")
    13 srcStr = '\"'
    14 dstStr = '\\\"'
    15 varNameStr = "luaScriptStr"
    16
    17 for line in fin.readlines() :
    18 if not line.split() : continue
    19 tmp2 = ''
    20 tmp2 += varNameStr
    21 tmp2 += ' += \"'
    22
    23 if line.count(srcStr) > 0 :
    24 nStartPos = 0
    25 nPos = 0
    26 while True :
    27 nPos = line.find(srcStr,nStartPos)
    28 if nPos == -1 :
    29 tmp2 += line[nStartPos:endLinePos:]
    30 break
    31 tmp2 += line[nStartPos:nPos:]
    32 tmp2 += dstStr
    33 nStartPos = nPos+len(srcStr)
    34 else:
    35 tmp2 += line[:endLinePos:]
    36 tmp2 += '\\n\";\n'
    37 print tmp2,
    38 fout.write(tmp2)
    39 fout.close()
    40 fin.close()
    41 raw_input()


     

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    Linux 删除用户时报错:userdel: user zhoulijiang is currently used by process 1
    mysqldump: Error: Binlogging on server not active
    Java并发编程:阻塞队列
    Java并发编程:线程池的使用
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
    Java常用排序算法/程序员必须掌握的8大排序算法
    KMP算法
    Java NIO:浅析I/O模型
    Java NIO:NIO概述
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/2303831.html
  • Copyright © 2011-2022 走看看