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
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    Windows 科研软件推荐
    有关Python 包 (package) 的基本知识
    《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记
    Coursera助学金申请模板
    《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
    Jupyter 解决单个变量输出问题
    解决 pandas 中打印 DataFrame 行列显示不全的问题
    《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
    缓存击穿及解决方案
    jvm垃圾收集器
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/2303831.html
  • Copyright © 2011-2022 走看看