有时(在客户的PC中)我需要一个
python脚本在
Windows shell中执行,如.CMD或.BAT,但没有与PYTHON / PYTHONW关联的.py或.pyw扩展名.
我推出了一对’quick’n dirty’解决方案:
1)
""" e:\devtool\python\python.exe %0 :: or %PYTHONPATH%\python.exe goto eof: """ # Python test print "[works,but shows shell errors]"
2)
@echo off for /f "skip=4 delims=xxx" %%l in (%0) do @echo %%l | e:\devtools\python\python.exe goto :eof ::---------- # Python test print "[works better,but is somewhat messy]"
你知道更好的解决方案吗? (即:更简洁或优雅)
更新:
基于@van回答,我找到了更简洁的方法(没有设置ERRORLEVEL)
@e:\devtools\python\python.exe -x "%~f0" %* & exit /b ### Python begins.... import sys for arg in sys.argv: print arg raw_input("It works!!!\n") ###
你可以尝试创建一个python和windows shell脚本的脚本.在这种情况下,您可以将文件命名为my_flexible_script.bat并直接或通过python执行….
查看pylint中pylint.bat文件的内容:
@echo off rem = """-*-Python-*- script rem -------------------- DOS section -------------------- rem You could set PYTHONPATH or TK environment variables here python -x "%~f0" %* goto exit """ # -------------------- Python section -------------------- import sys from pylint import lint lint.Run(sys.argv[1:]) DosExitLabel = """ :exit exit(ERRORLEVEL) rem """
它与您的操作类似,但具有更多兼容的双脚本支持.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。