zoukankan      html  css  js  c++  java
  • 自动生成.py文件头部的C语言小程序

      每次都 vi xxx.py 然后再打 #!/usr/bin/env python 等等的程序头信息感觉有点麻烦,于是便想着写一个小程序自动生成这些头信息了,顺便在 ~/.bashrc 里写入 alias 使其作为一个命令来使用,shell 脚本并不是很熟悉,便用 C 语言来写了:

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <stdlib.h>
     4 #include <unistd.h>
     5 
     6 void createFile(const char * const fileName) {
     7     int exist = access(fileName, F_OK) == 0 ? 1 : 0;
     8     if(exist == 0) {
     9         FILE *fp = fopen(fileName, "w+");
    10         fputs("#!/usr/bin/env python
    ", fp);
    11         fprintf(fp, "# %s
    
    ", fileName);
    12         fclose(fp);
    13     }
    14     char *cmd = (char*)malloc(sizeof(char) * (strlen(fileName) + 6));
    15     strcpy(cmd, "vi ");
    16     strcat(cmd, fileName);
    17     system(cmd);
    18     free(cmd);
    19 }
    20 
    21 int main(int argc, char *argv[]) {
    22     int i;
    23     for(i = 1; i < argc; ++i)
    24         createFile(argv[i]);
    25     return 0;
    26 }

      保存为 vipy.c,然后 gcc -o vipy vipy.c,编译好再在配置文件 ~/.bashrc 里添加上 alias vipy='~/xxx/vipy' (xxx是你存放 vipy 的目录),然后重启或者直接 alias 一下就能生效,比如我 vipy hello1.py hello2.py 就会自动生成含有 #!/usr/bin/env python 和文件名等信息的 hello1.py 和 hello2.py,并自动进入 vi 编辑界面,感觉还是挺强大的。

  • 相关阅读:
    servlet中doGet()和doPost()的区别
    Hibernate 的getHibernateTemplate()方法使用
    c3p0 数据库连接池
    java 事务处理的概念
    hibernate 关联映射
    java 迭代器
    struts 值桟问题
    struts 属性驱动与模型驱动
    java 单例模式
    XML Node和Element
  • 原文地址:https://www.cnblogs.com/Newdawn/p/5130304.html
Copyright © 2011-2022 走看看