今天刚刚接触Python,本着学以致用的原则,就写了一个按照要求自动生成.cpp文件并初始化头文件的脚本。
确定你的linux中安装了Python,将下面的代码拷贝进一个文件[filemaker],提权(chmod +x filemaker)
功能:
1、filemaker [文件名],即生成 文件名.cpp
2、filemaker -e [A-Z] 即生成从A到你输入的字母的所有字母.cpp
3、filemaker -n [1-26] 即生成从A开始的你输入个数的文件,大写字母递增
可以将该脚本所在的目录设置环境变量,以后就可以直接使用了
vim ~/.profile
在最后加上
export PATH="目录:$PATH"
保存退出
source .profile
即可
代码如下:
注:第六行的 headfile 是你要初始化的头文件所在的目录
1 #!/usr/bin/python 2 3 import sys 4 5 content = [] 6 headfile = "/home/kevince/Documents/acm/head/acmhead.h" #the directory of the headfile 7 8 #load file head.h and save it with a list 9 def loadcontent(filename): 10 f = open(filename) 11 lines = f.readlines() 12 for line in lines: 13 content.append(line) 14 15 #main function 16 def main(): 17 loadcontent(headfile) #loadcontent 18 arglen = len(sys.argv) 19 flag = 1 20 if arglen == 2: #judge the lenth of arg 21 f = open(sys.argv[1] + ‘.cpp‘, "w") 22 for index, val in enumerate(content): 23 f.write(val) 24 f.close() 25 sys.exit() 26 elif arglen == 3: 27 if sys.argv[1] == ‘-n‘: 28 e = int(sys.argv[2]) 29 e = e + ord(‘A‘) 30 if e > ord(‘Z‘) or e < ord(‘A‘): 31 print "1-26 please!\n" 32 sys.exit() 33 elif sys.argv[1] == ‘-e‘: 34 e = ord(sys.argv[2]) 35 if e > ord(‘Z‘) or e < ord(‘A‘): 36 print "A-Z please!\n" 37 sys.exit() 38 e = e + 1 39 else: 40 flag = 0; 41 else: 42 flag = 0; 43 if flag == 0: 44 print "\n" 45 print "iiacm-filemaker [fliename]\n" 46 print "or\n" 47 print "iiacm-filemaker -n | -e\n" 48 print " -n number of files\n" 49 print " -e endplace of files\n" 50 sys.exit() 51 s = ord(‘A‘) 52 for t in range(s, e): 53 f = open(chr(t) + ‘.cpp‘, "w") 54 for index, val in enumerate(content): 55 f.write(val) 56 f.close 57 58 59 if __name__ == ‘__main__‘: 60 main()
时间: 2024-10-10 20:22:53