有没有想过让一个python源文件也能像bat批处理文件那样运行?下面给大家演示一下一个小小的trick。

?
1
2
# || cd "%~dp0" && python "%~0" && goto :eof
print "Hello, world!"

把上面的代码保存成一个bat文件,暂且命名为test.bat吧。先看一下运行结果:

下面这句是来到脚本的路径之下。

?
1
cd "%~dp0"

而%~0是指当前脚本的名称。

?
1
goto :eof

则是直接跳到脚本的末尾。

上面的脚本巧用的是#字符和||。#在Python中是注释字符,而||却在批处理脚本中是或短路运算。

不过上面还有一点小问题,会输出说#不是一个可识别的命令。对于这个问题,可以利用重定向的方法来屏蔽这个错误。最终的代码就是这样:

?
1
2
# > nul 2>&1 || cd "%~dp0" && python "%~0" && goto :eof
print "Hello, world"

把输出定向到空设备,并连接标准输出和错误输出(其实不连接而只重定向错误输出也可以的)。最后的结果是这样的:

到此,基本实现了把python脚本当bat文件运行,而且还用python运行这个脚本!这样就可以用一个文件来运行了!这个方法应该还可以举一反三,可以试一下其他脚本了。除了一点小小的问题:不能隐藏命令的显示,即在运行命令的时候会先显示第一行命令,然后才执行。如果有网友有好的方法,欢迎推荐。

让一个python源文件也能像bat批处理文件那样运行[转]相关推荐

  1. 编写一个程序、读取一个python源程序文件_编写一个程序,读取一个python源文件,将文件中所有除保留字外的小写字母换成大写字母,生成后的文件要能被python解释器正确执行。...

    [简答题]完成教材第4章 实训2 实训3 课后习题中的操作题3,4,5 请提交代码截图和效果截图 [单选题]病毒不包括以下成分 [填空题]酵母菌的繁殖方式主要是 . [判断题]在观察显微镜时,要遵循由 ...

  2. BAT批处理文件无法运行提示“/E /I /Y ‘XCOPY‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”解决方法

    windows 下的 system32 文件夹里包含了很多运行程序,其中就包括运行 bat 文件的程序. 环境变量中添加 C:\windows\system32; 或 %SystemRoot%\sys ...

  3. python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...

    我想从另一个Python脚本运行一个Python脚本.我想像使用命令行一样传递变量. 例如,我将运行我的第一个脚本,该脚本将遍历值列表(0.1.2.3),并将其传递给第二个脚本,依次为script2. ...

  4. ESP32开发 3.bat批处理文件,批量删除编译后的build文件夹,方便Git上传分享

    前言   每次执行 idf.py build 后,编译器都会在工程目录下新建一个build目录,用于存放编译中间及生成的文件,文件非常多体积非常大,通常一个工程的build约有130MB左右.而这个文 ...

  5. 解决win7无法运行bat批处理文件的方法

    在win7系统中我们可以将一些命令制作为bat批处理文件,只需双击打开即可运行命令,方便使用. 那么,要怎么运行bat批处理呢?最近有用户反馈,遇到无法运行bat批处理的现象,该怎么办呢? 修复方法一 ...

  6. python文件编译为so_Mac上把python源文件编译成so文件

    把python源文件编译成so文件 前言 实际上属于一种代码混淆/加密的技术,大家知道python的源文件放在那里,大家是都可以看的,不像C语言编译出来可以拿编译后的东西去运行,所以就出现了这种需求. ...

  7. python的源代码文件的扩展名是-python源文件后缀是什么?

    python源文件后缀是py. 以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,可在控制台下运行.可用文本编辑器读写. Python中经常使用的文件后缀名: pyc ...

  8. python的源代码文件的扩展名是-python源文件后缀是什么

    python源文件后缀是py. 以 py 扩展名的文件是 Python 源码文件,由 python.exe 解释,可在控制台下运行.可用文本编辑器读写. Python中经常使用的文件后缀名: pyc ...

  9. windows的.bat批处理文件运行Python脚本程序

    windows的.bat批处理文件运行Python脚本程序 文章目录: 一.如何创建 `.bat` 批处理文件 二.创建执行的Python脚本程序 一.如何创建 .bat 批处理文件 创建.bat 批 ...

最新文章

  1. 毕业五年,几个月入百万阿里系大神的公众号!
  2. SQLite学习(三) - SQLite源代码文件结构
  3. 【模型解读】network in network中的1*1卷积,你懂了吗
  4. 第五期 RHCE远程班 12月1日开课(周末班)
  5. 同一个页面同时拥有collectionView和navigationBar和tabBar时可能遇到的问题
  6. Spring Web MVC 支持最新的API
  7. Booting ARM Linux SMP on MPCore
  8. python归一化改变图像大小_基于Python+PIL-Speed问题的图像强度归一化
  9. clion配置opencv3.20(cmake+tdm-gcc)
  10. Java时间格式转换输出实现代码示例
  11. IMX462 Sensor 对接HI3559A
  12. 练习使用firewalld的masquerade和nat功能
  13. 站群网站八大盈利模式浅析
  14. Python数据可视化Part 5-Matplotlib 3D图片与投影教学-代码详解
  15. 高速数据采集存储系统分类
  16. 微信开放平台-管理中心-应用删除
  17. 手机的开发者选项怎么找(真机调试)
  18. 三国演义人物词频统计-3
  19. Mac使用技巧之如何禁用独立显卡
  20. 阿朱,是时候拥抱 Linux 了

热门文章

  1. 关于中英数字混排的字符串分割问题(转)
  2. 敏捷个人第六次练习讨论:个人价值观练习
  3. war包部署-打包测试
  4. springboot对象方式注入
  5. 地图数据快速渲染------基于传统GIS平台多服务器切片
  6. SpringMVC拦截器-快速入门(应用)
  7. 自定义异常类RRException
  8. 算术运算符_加号的多种用法
  9. jwt:介绍以及创建token
  10. HDFS的文件副本机制