在windows系统中,双击运行python程序以及后台运行python程序的方法如下:
一、如何避免双击运行*.py文件时的闪退?
使用批处理文件启动
在start_show.bat文件中:
python main.py
升级版:使用VBS脚本在后台运行
在start_hidden.vbs文件中:
Set ws = CreateObject("Wscript.Shell")ws.run "cmd /c start_show.bat", 0
二、如何在Windows中快速终止Python程序?
立即学习“Python免费学习笔记(深入)”;
使用批处理文件终止:
在stop_all_python.bat文件中:
taskkill /IM python.exe /F
附录:
main.py文件内容:
import osimport loggingimport time如果日志文件夹不存在,则创建
log_dir = "log" # 日志存放文件夹名称log_path = os.getcwd() + os.sep + log_dirif not os.path.isdir(log_path):os.makedirs(log_path)
设置logging
logger = logging.getLogger()logger.setLevel(logging.DEBUG)
main_log_handler = logging.FileHandler(logdir + "/dd%s.log" % time.strftime("%Y-%m-%d_%H-%M-%S", time.localtime(time.time())),mode="w+",encoding="utf-8")main_log_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")main_log_handler.setFormatter(formatter)logger.addHandler(main_log_handler)
控制台打印输出日志
console = logging.StreamHandler() # 定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象console.setLevel(logging.INFO) # 设置要打印日志的等级,低于这一等级,不会打印formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")console.setFormatter(formatter)logging.getLogger('').addHandler(console)
while True:time_stamp = time.time()
print("时间戳",time_stamp)
logger.info("时间戳 %s" % time_stamp)sec = 3logger.info("睡眠 %s 秒" % sec)time.sleep(sec)文件截图:
使用说明:
- 带界面双击启动
双击
start_show.bat,会出现CMD窗口,同时会生成日志文件夹。
- 不带界面后台运行程序
双击
start_hidden.vbs,进程会增加一个python.exe进程,增加的python.exe进程为后台启动的,可以通过日志查看。
- 杀死所有Python.exe进程
双击
stop_all_python.bat,所有的Python进程都会消失,第1步中产生的CMD窗口也将消失。
以上就是在windows中:双击运行Python的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/115148.html

微信扫一扫
支付宝扫一扫