python部分的代码几乎是来息此文章:
http://blog.sina.com.cn/s/blog_4419b53f0100abzb.html
我小部分改进之后代码如下:
#-*- coding:utf-8 -*-
# file :makeBasic.py
#
import os
import sys
import string
import datetime
# python 简单的脚本模板
def main():
if os.path.isfile(sys.argv[1]):
print '%s already exist!' % sys.argv[1]
sys.exit()
basic_template = open(sys.argv[1],'w') # create a file in write mode
today = datetime.date.today() # transform now to 'yyyy-mm-dd' s format
date = today.strftime('%Y')+'-'+today.strftime('%m')+'-'+today.strftime('%d')
filetypes = string.split(sys.argv[1],'.') # 判断文件类型
length = len(filetypes)
filetype = filetypes[length -1]
print 'file type is :'+filetype
if filetype == 'py':
print 'use python mode'
basic_template.writelines('#-*- coding:utf-8 -*-')
basic_template.write('\n')
basic_template.writelines('# file :'+sys.argv[1])
basic_template.write('\n')
basic_template.write('# date :'+date)
basic_template.write('\n')
basic_template.write('##----------------------------------------------------')
basic_template.write('\n')
print 'template create successfully'
else:
print 'not support other file time currently'
basic_template.close() # 关闭文件
if __name__ == '__main__':
main()
使用方法如下:
引用
banxi1988@banxi:~/work/python$ python makeBasic.py fileRead.py
file type is :py
use python mode
template create successfully
banxi1988@banxi:~/work/python$
而用java来写呢!我自己写了如下一个:
我自己对于Java比较熟悉点,所以用Java写得自认为还是不错的.
从结构等方面来看都是容错性啊等等:
package me.banxi.io;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class MakeCode{
public static void usage(){
StringBuilder builder = new StringBuilder(1024);
builder.append(" Usage:\n");
builder.append(" unix-like: $ java MakeCode yourSourceFileName \n");
builder.append(" example: $ java MakeCode HelloWorld.java");
builder.append(" -------------------the end ------------------------------");
System.out.println(builder.toString());
}//:usage
public static void notSupport(String fileName){
String []strs = fileName.split(".");
if(strs.length < 1) {
System.out.println("you have not give a file .suffix! file type of "+fileName+"are not support now!");
}else {
System.out.println("file type of "+strs[strs.length-1]+"are not support now!");
}
}//:notSupport
public static boolean cancelCreate( String name ){
System.out.println("file with name of "+name+"is already exists!\n");
System.out.println("do you want to build a new file?(y/n)");
Scanner scanner = new Scanner(System.in);
String yesOrNo = scanner.next();
if(yesOrNo.equalsIgnoreCase("y")) {
return false;
}
return true;
}//:isContinue
private static void createTemplate(File file) {
PrintWriter writer = null;
try {
writer = new PrintWriter(file);
StringBuilder builder = new StringBuilder(256);
builder.append("import java.io.*;\n");
builder.append("import java.util.*;\n");
builder.append("/**\n");
builder.append(" * @author yourName \n");
builder.append(" * @date "+(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
builder.append("\n */\n");
builder.append("public class "+file.getName());
builder.append("{\n");
builder.append("\n");
builder.append("}\n");
writer.write(builder.toString());
writer.flush();
} catch (FileNotFoundException e) {
System.out.println("no such file:"+file.getAbsolutePath());
e.printStackTrace();
}finally {
if(writer != null) {
writer.close();
}
}
}// :createTemplate
public static void main(String ... args){
if(args.length < 1){
usage();
System.exit(1);
}//
String fileName = args[args.length -1];
if(fileName.endsWith(".java")){
File file = new File(fileName);
if(file.exists()){
if(cancelCreate(file.getName())){
System.exit(1);
}
}
createTemplate(file);
System.out.println("create java source template successfully!");
System.out.println("file's full name was:"+file.getAbsolutePath());
}else{
notSupport(fileName);
System.exit(1);
}
}//
}//:end MakeCode
/**
* 运行结果:
file with name of MyFileReader.javais already exists!
do you want to build a new file?(y/n)
y
create java source template successfully!
file's full name was:/home/banxi1988/work/tomcat7/JavaIo/MyFileReader.java
生成模板内容:
import java.io.*;
import java.util.*;
**
* @author yourName
* @date 2011-10-10 23:17:40
*
public class MyFileReader.java{
}
*/
python版的我修改之后如下:
主要修改了,如果没有传递参数,提示用法.
时期精确到时分秒.
如果已经有文件了提示是否创建新的:
#-*- coding:utf-8 -*-
# file :makeBasic.py
#
import os
import sys
import string
from datetime import datetime
# python 简单的脚本模板
def usage():
usages = """
Usage:
unix-like usage:$ python makeBasic myfile.py
example : $ python makeBasic helloworld.py
"""
print usages
def main():
if len(sys.argv) < 2:
usage()
sys.exit()
if os.path.isfile(sys.argv[1]):
print '%s already exist!' % sys.argv[1]
yesOrNo = raw_input ('do you still want to create a new file?(y/n)')
if(yesOrNo.strip().lower() == 'n'):
sys.exit()
basic_template = open(sys.argv[1],'w') # create a file in write mode
date = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
filetypes = string.split(sys.argv[1],'.') # 判断将创建的文件是什么类型然后分别处理
length = len(filetypes)
filetype = filetypes[length -1]
print 'file type is :'+filetype
if filetype == 'py':
print 'use python mode'
basic_template.writelines('#-*- coding:utf-8 -*-')
basic_template.write('\n')
basic_template.writelines('# file :'+sys.argv[1])
basic_template.write('\n')
basic_template.write('# date :'+date)
basic_template.write('\n')
basic_template.write('##----------------------------------------------------')
basic_template.write('\n')
print 'template create successfully'
else:
print 'not support other file time currently'
basic_template.close() # 关闭文件
if __name__ == '__main__':
main()
分享到:
相关推荐
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...
由于提供的文件信息中并没有包含实际的文档内容,而是仅提供了一些外部链接和版权声明的描述,这使得无法直接生成具体的Python编程知识点。但根据文件信息中的标题《Python编程入门 第3版.pdf》,我们可以推断这本书...
3. 生成Java代码:使用protoc编译器生成Java代码,这将创建一个服务接口和消息类型的Java类。 4. 实现服务端:创建一个实现了GreeterService的类,处理SayHello请求。 5. 启动服务端:创建一个主类,实例化Server...
在描述中提到的“python代码转java工具”,这可能是一款自动化工具,它尝试将 Python 代码解析并生成对应的 Java 代码。这类工具可能会对简单的 Python 代码转换做得很好,但对于复杂的逻辑或依赖于 Python 特性的...
该工具是一个基于Python的代码生成平台,旨在简化SpringBoot与EasyUI项目的源码构建过程。它能够利用预定义的工程化模板,快速生成整个项目的源代码,支持多种语言和框架,理论上适用于任何开发语言和开源框架。该...
在Java编程环境中,有时我们需要利用Python的某些功能或者库,这时就需要通过Java调用Python来实现。这个场景通常涉及到Java与Python的交互,这在跨语言集成开发中非常常见。"Java调用python所用到的jar包"指的是...
人人代码生成器可能支持多种编程语言,如Java、Python、C#等,并且能够处理各种复杂的业务场景。 使用人人代码生成器,用户通常需要进行以下步骤: 1. 定义模板:根据项目需求,设定模板规则,包括类名、属性、方法...
它通过定义一种中间语言(IDL,Interface Definition Language)来描述服务接口,然后自动生成各种编程语言的客户端和服务器端代码,使得不同语言之间可以进行无缝通信。在本示例中,我们将探讨如何使用Thrift在Java...
标题“具有按需候选生成的自动程序修复_Java_Python_下载.zip”表明这是一个关于自动程序修复技术的资源包,特别关注Java和Python这两种编程语言。自动程序修复(Automatic Program Repair,简称APR)是软件工程领域...
这个`MyService`定义了一个简单的服务,有一个`sayHello`方法,接收一个字符串`name`,返回一个字符串。 接下来,我们需要使用Thrift编译器将.thrift文件编译成目标语言的代码。对于Java和Python,这将生成服务端和...
Python实现的编译原理中间代码生成程序,使用了PyQt5写图形界面 题目:设计一个程序,该程序能够将形如x=y op z的简单赋值语句翻译为对应的四元式序列,其中op可为+、-、*、/等二元运算符。要求用图形界面方式编程. ...
Python编程语言虽然不像Java那样有强制的空指针检查,但也有类似的问题,如`NoneType`对象的误用。因此,NPEFix可能也提供了针对Python的解决方案,尽管Python的异常处理机制和Java有所不同。 总的来说,这个工具为...
19.2 Tkinter与Python编程 534 19.3 Tkinter举例 19.4 其他GUI简介 19.5 相关模块和其他GUI 19.6 练习 第20章 Web编程 20.1 介绍 20.2 使用Python进行Web应用:创建一个简单的...
【标题】"selenium+java+python自动化测试" 涉及到的是使用Selenium这一强大的Web自动化测试工具,结合Java和Python两种编程语言进行网页自动化测试的方法和实践。Selenium是一个开源的测试框架,它允许开发人员模拟...
本文将深入探讨如何使用Java和Python这两种流行的编程语言来高效地生成高级的声明式SQL脚本,这对于数据库的自动化管理和数据操作具有极大的价值。在实际的项目中,这种神器的研发能够显著提升开发效率,降低错误率...
其次,Python编程方面,其简洁的语法和强大的库使其在解决算法问题时非常高效: 1. **内置数据结构**:Python提供了丰富的内置数据结构,如列表、元组、字典和集合,它们在解决问题时非常实用。 2. **函数式编程**...
综上所述,Python高级编程是一个涉及广泛技术和实践的领域,它不仅包括编写高质量的代码,还涉及到软件工程的各个阶段,从需求分析到部署和维护,以及性能优化和语言的最新发展。掌握这些高级主题和最佳实践对于成为...
pyobfuscate是一个源代码模糊器:它生成Python源代码对于人类来说很难阅读,但对于Python来说仍然是可执行的口译译员 为什么要混淆? -------------- 混淆对于开源来说没有什么意义 (http://www.opensource.org/)...
3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Python 对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--...