Board logo

标题: [原创教程] 批处理与python代码混合编程 [打印本页]

作者: codegay    时间: 2016-5-18 17:36     标题: 批处理与python代码混合编程

批处理可以很方便地和其它各种语言混合编程,除了好玩,还有相当的实用价值,
比如windows版的ruby gem包管理器就是运用了批处理和ruby的混合编写,
bathome出品的命令工具包管理器bcn 使用了bat+jscript的混编实现的。

cn-dos和bathome论坛里先后有帖子介绍和示范了批处理和各种语言脚本的混合编程,有兴趣可以搜索看看。
python不挑剔文件后缀,只要程序中包含正确的python代码都可以用python 解释器解释执行。

批处理与python的混合编程方法很简单,存为xx.bat,代码如下:
  1. """
  2. ::=================这是注释
  3. ::批处理与python程序的混合编程
  4. ::2016年5月18日 14:26:03 codegay
  5. ::下面写批处理代码
  6. @echo off&cls
  7. echo batch echo
  8. python.exe %0&pause
  9. ::=================这是注释
  10. """
  11. #下面写你的python代码
  12. print("python print")
  13. #如果需要python输出中文,需要把文件存为UTF8
  14. print("中文")
复制代码

作者: happy886rr    时间: 2016-5-18 18:19

本帖最后由 happy886rr 于 2016-5-18 18:20 编辑

回复 1# codegay
cls很强大,python更强大一行代码就能做个计算器
  1. print(eval(input()))   #Py计算器
复制代码
C语言表示压力山大。
作者: codegay    时间: 2016-5-18 18:39

回复 2# happy886rr


      输入 import os;os.sysmtem("format 。。。")
作者: ivor    时间: 2016-5-19 20:09

回复 3# codegay


    又玩新花样了 ,( ^_^ )不错嘛
作者: codegay    时间: 2016-5-19 20:21

回复 4# ivor


    都是论坛里高手的成果嘛。我只是套用了一下格式而已。
作者: codegay    时间: 2016-5-20 08:09

试了一下,eval语句不能执行import 语句。
但是如果之前如果导入了os模块,

eval("os.system('pause')")是可以成功执行的。
作者: codegay    时间: 2016-5-20 08:18

换成exec函数,电脑估计会爆炸。
可以被成功执行。
  1. print(exec("import os;os.system('pause')"))
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2