python编译器无法运行input_为何python多线程程序在末尾添加input()能运行,不添加就不能运行...
程序简介:该程序包含两个线程,一个线程就是不断的循环print一个递增的数,另一个线程就是监控键盘,如果键盘按下F12,则两个线程都停止。出现的情况:1.这个程序在python的IDLE(Sh...
程序简介:
该程序包含两个线程,一个线程就是不断的循环print一个递增的数,另一个线程就是监控键盘,如果键盘按下F12,则两个线程都停止。
出现的情况:
1.这个程序在python的IDLE(Shell)中按F5可以直接执行,但是双击.py文件不能执行。(我已经设置环境变量,双击其他单线程的程序都能直接执行的)
2.我发现双击这个程序的py文件,会有一个cmd框瞬间弹出,一些文字一闪而过。于是我就在程序末尾添加raw_input()语句,本来我是想看看那段一闪而过的文字的,没想到添加这句后,程序居然可以双击py文件运行了
3.可是,当我把程序用py2exe打包成exe时,貌似由于exe文件没有cmd那个框框,所以会报错。
请问大神:
为什么程序末尾添加raw_input()则可以双击py文件执行,而不添加这一句就不能执行?求解决方案?
**********************************************************************************
完整程序代码:
#!/usr/bin/env python
# -*- coding: GBK -*-
import pythoncom
import pyHook
import win32api
import win32con
import win32gui
import time
import thread
theEndString='1'
i=0
def onKeyboardEvent(event):
"处理键盘事件"
"判断是否终止程序"
if str(event.Key)=='F12': #按下F12后终止
win32api.PostQuitMessage() #注意!!!若执行这一步,则跳到pythoncom.PumpMessages()之后
return True
def PlayRecord(name):
global i
while True:
i +=1
print i
if theEndString == 'End':
break
thread.exit_thread() #结束线程
def WaitForKeyboard(name):
global theEndString
hm = pyHook.HookManager()
#监控键盘
hm.KeyDown = onKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages(10000) #消息循环
theEndString = 'End'
thread.exit_thread() #结束线程
def test():
thread.start_new_thread(PlayRecord, ('A',))
thread.start_new_thread(WaitForKeyboard, ('B',))
if __name__== '__main__':
test()
#raw_input() #添加这一句就能直接双击py文件运行,如果没有这一句则不能运行
展开
python编译器无法运行input_为何python多线程程序在末尾添加input()能运行,不添加就不能运行...相关推荐
- python编译器_11 个最佳的 Python 编译器和解释器
原作:Archie Mistry 翻译:豌豆花下猫@Python猫 原文:https://morioh.com/p/765b19f066a4 Python 是一门对初学者友好的编程语言,是一种多用途的 ...
- python编译器源码_编译python源码
广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 尝试通过源码自己编译 python,使用的系统是 ubuntu14.04 l ...
- python中str和input_对python中raw_input()和input()的用法详解
最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...
- Linux运行hadoop命令,将hadoop程序打成jar包,在linux下以命令行方式运行(例如单词计算程序)...
自定义Mapper import java.io.IOException; import org.apache.hadoop.io.LongWritable; import org.apache.ha ...
- python手机编译器推荐_Python编译器最新版|Python编译器手机版下载 v1.2 安卓版 - 数码资源网...
现在互联网发展迅速发展,很多人开始往it行业发展,我给你们推荐一款很好的软件,Python编译器手机版主要为Python初学者提供直接运行的功能,能够随手验证一些小程序,Python编译器app支持直 ...
- python中文版编译器下载-python编译器
Python编译器手机版是一款编程教学软件,Python编译器手机版是专为零基础的编程爱好者打造的教学平台,从基础到熟练的所有课程都可学习,轻松掌握这门语言. 软件介绍 Python编译器安卓版是一款 ...
- gcc 编译python_4 个快速的 Python 编译器 for 2018
简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试. Python 其实是一种相当快的语言,但它并不像编译型语言那 ...
- python编译软件排行榜_4 个快速的 Python 编译器 for 2018
简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试. Python 其实是一种相当快的语言,但它并不像编译型语言那 ...
- 4 个快速的 Python 编译器
简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试. Python 其实是一种相当快的语言,但它并不像编译型语言那 ...
最新文章
- java:this和super
- (转)Maven学习总结(七)——eclipse中使用Maven创建Web项目
- 并不对劲的bzoj3994:loj2185:p3327[SDOI2015]约数个数和
- 古董来了:1999年的物件,香港已经回归了,我都上初中了,那么你出生了吗?
- 两度破译“白宫密码”,让美国政府部门崩溃,却称自己是抱娃敲代码的普通妈妈
- c语言去掉数组中重复的,C语言删除无序整型数组中的重复元素及时间复杂度
- 四种转换方式:自动,强制,Parse,Convert
- [POI2009]SLO
- LeetCode刷题(5)
- Flutter 系列文章:Flutter Text 控件介绍
- mongodb linux用户验证登陆,转载:linux下mongodb的用户查询_【Linux】MongoDB创建数据库(开启用户认证)...
- linux 源码安装httped,Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2版本后)
- c语言读取含特定开头的文件,C#中获取指定路径下特定开头和后缀的所有文件
- java毕业设计菜鸟驿站快递分发系统Mybatis+系统+数据库+调试部署
- 分享一份软件测试项目(Python项目)
- 从0开始建设saas - 系统对接中的问题整理
- element组件树形控件el-tree点击展开节点,节点重影
- 在线编辑PDF:GcPDF|PDF在线预览GrapeCity Documen PDF
- 《随机过程》学习笔记--高斯过程(1)
- 宏基 Iconia Tab A500 资料