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

 #include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h> void createFile(const char * const fileName) {
int exist = access(fileName, F_OK) == ? : ;
if(exist == ) {
FILE *fp = fopen(fileName, "w+");
fputs("#!/usr/bin/env python\n", fp);
fprintf(fp, "# %s\n\n", fileName);
fclose(fp);
}
char *cmd = (char*)malloc(sizeof(char) * (strlen(fileName) + ));
strcpy(cmd, "vi ");
strcat(cmd, fileName);
system(cmd);
free(cmd);
} int main(int argc, char *argv[]) {
int i;
for(i = ; i < argc; ++i)
createFile(argv[i]);
return ;
}

  保存为 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 编辑界面,感觉还是挺强大的。

自动生成.py文件头部的C语言小程序的更多相关文章

  1. .ui/qrc文件自动生成.py文件

    前天PL让我们做一个从手机里手机一些数据导出到excel文件里的Tool. 让我们用python去写一个.但是我们都没有学过python..呵呵! 然后昨天看了一些文档.做ui时还需要把图片写入qrc ...

  2. linux下使用automake工具自动生成makefile文件

    linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf/Au ...

  3. php中soap的使用实例以及生成WSDL文件,提供自动生成WSDL文件的类库——SoapDiscovery.class.php类

    1. web service普及: Webservice soap wsdl区别之个人见解 Web Service实现业务诉求:  Web Service是真正“办事”的那个,提供一种办事接口的统称. ...

  4. 使用automake等命令自动生成Makefile文件 (转载)

    使用automake等命令自动生成Makefile文件   Linux下编程时,为了方便编译,往往使用Makefile文件自动完成编译,但是Makefile文件本身的书写十分复杂,规则很多.好在Lin ...

  5. Wix 安装部署(一)同MSBuild 自动生成打包文件

    因为项目需要,最近在研究Wix打包部署,园子里也有一些关于wix的博客,方方面面,讲的点各不同.我自己也在测试过程中,写下过程,以供参考.最新版本WiX Toolset v3.7,如何安装的就不说了, ...

  6. Wix 安装部署(一)同MSBuild 自动生成打包文件 转

    原文地址:http://www.cnblogs.com/stoneniqiu/p/3355086.html 因为项目需要,最近在研究Wix打包部署,园子里也有一些关于wix的博客,方方面面,讲的点各不 ...

  7. 文件参数化-utp框架之根据yaml文件自动生成python文件+utp运行用例

    根据yaml文件自动生成python文件 utp框架: bin目录:存放执行文件(run.py) cases目录:存放生成的用例的python文件(该目录下的文件为根据data目录下的测试用例生成的p ...

  8. python 自动生成model 文件 案例分析

    生成方式 Python中想要自动生成 model文件可以通过 sqlacodegen这个命令来生成对应的model文件 sqlacodegen 你可以通过pip去安装: pip install sql ...

  9. eclipse下Android无法自动生成apk文件怎么办?

    eclipse下Android无法自动生成apk文件怎么办? 现象:创建android工程后,通过手动build/clean或自动build均无法在bin文件夹下生成.apk文件 解决方法:进入win ...

随机推荐

  1. c3p0连接池]

    <c3p0-config> <!-- 默认配置 --> <default-config> <property name="jdbcUrl" ...

  2. redis 五种数据类型的使用场景

    String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...

  3. 【皇甫】☀Spring开题中...

    spring (由Rod Johnson创建的一个开源框架)Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spr ...

  4. peoplesoft SQR language

    Understanding SQR Data Elements !Variables!Variables are storage places for text or numbers that you ...

  5. Extjs 3.4 同值合并

    摘自:http://www.cnblogs.com/kunpengit/archive/2012/11/13/2768239.html/** * grid gridPanel 需要合并的表格 * ro ...

  6. Java找不到或无法加载主类

    今天用cmd运行一下java出现了找不到或无法加载主类 的问题 javac编译可以通过   java运行不了 原因: 看一下java版本 看一下javac版本: 编译和运行环境的版本不一样报错原来是用 ...

  7. [Android] 转-LayoutInflater丢失View的LayoutParams

    原文地址:http://lmbj.net/blog/layoutinflater-and-layoutparams/ View view = inflater.inflate(R.layout.ite ...

  8. C++之检测文件结尾

    当使用文件作为输入流时,为了确保适时的结束文件读取操作,程序要靠检查文件尾来判断该何时停止读取.常用的检查文件尾方法有两种: 两种方式均已将 fin 与文件关联,即 均已声明 fin 输入流,并已调用 ...

  9. 第一次写这么长的js

    是公司一个项目,要求显示不同的sku,然后根据sku组合显示不同的价格区间,根据填写的数量落在哪个价格区间,然后进行计算.实际截图如下: 前端JS如下: <script type="t ...

  10. activiti-5.15备份记录

    activiti-5.15用户手册翻译完成 源码下载地址:http://activiti.org/download.html在线浏览地址: http://www.mossle.com/docs/act ...