首页 > 代码库 > 【Python】简易的.cpp文件创建即初始化脚本 ——ACMer专用

【Python】简易的.cpp文件创建即初始化脚本 ——ACMer专用

今天刚刚接触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 function16 def main():17     loadcontent(headfile)  #loadcontent18     arglen = len(sys.argv)19     flag = 120     if arglen == 2:          #judge the lenth of arg21         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 + 139         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()

 

【Python】简易的.cpp文件创建即初始化脚本 ——ACMer专用