程序简介:该程序包含两个线程,一个线程就是不断的循环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()能运行,不添加就不能运行...相关推荐

  1. python编译器_11 个最佳的 Python 编译器和解释器

    原作:Archie Mistry 翻译:豌豆花下猫@Python猫 原文:https://morioh.com/p/765b19f066a4 Python 是一门对初学者友好的编程语言,是一种多用途的 ...

  2. python编译器源码_编译python源码

    广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 尝试通过源码自己编译 python,使用的系统是 ubuntu14.04 l ...

  3. python中str和input_对python中raw_input()和input()的用法详解

    最近用到raw_input()和input()来实现即时输入,就顺便找了些资料来看,加上自己所用到的一些内容,整理如下: 1.raw_input() raw_input([prompt]) -> ...

  4. Linux运行hadoop命令,将hadoop程序打成jar包,在linux下以命令行方式运行(例如单词计算程序)...

    自定义Mapper import java.io.IOException; import org.apache.hadoop.io.LongWritable; import org.apache.ha ...

  5. python手机编译器推荐_Python编译器最新版|Python编译器手机版下载 v1.2 安卓版 - 数码资源网...

    现在互联网发展迅速发展,很多人开始往it行业发展,我给你们推荐一款很好的软件,Python编译器手机版主要为Python初学者提供直接运行的功能,能够随手验证一些小程序,Python编译器app支持直 ...

  6. python中文版编译器下载-python编译器

    Python编译器手机版是一款编程教学软件,Python编译器手机版是专为零基础的编程爱好者打造的教学平台,从基础到熟练的所有课程都可学习,轻松掌握这门语言. 软件介绍 Python编译器安卓版是一款 ...

  7. gcc 编译python_4 个快速的 Python 编译器 for 2018

    简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试. Python 其实是一种相当快的语言,但它并不像编译型语言那 ...

  8. python编译软件排行榜_4 个快速的 Python 编译器 for 2018

    简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试. Python 其实是一种相当快的语言,但它并不像编译型语言那 ...

  9. 4 个快速的 Python 编译器

    简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试. Python 其实是一种相当快的语言,但它并不像编译型语言那 ...

最新文章

  1. java:this和super
  2. (转)Maven学习总结(七)——eclipse中使用Maven创建Web项目
  3. 并不对劲的bzoj3994:loj2185:p3327[SDOI2015]约数个数和
  4. 古董来了:1999年的物件,香港已经回归了,我都上初中了,那么你出生了吗?
  5. 两度破译“白宫密码”,让美国政府部门崩溃,却称自己是抱娃敲代码的普通妈妈
  6. c语言去掉数组中重复的,C语言删除无序整型数组中的重复元素及时间复杂度
  7. 四种转换方式:自动,强制,Parse,Convert
  8. [POI2009]SLO
  9. LeetCode刷题(5)
  10. Flutter 系列文章:Flutter Text 控件介绍
  11. mongodb linux用户验证登陆,转载:linux下mongodb的用户查询_【Linux】MongoDB创建数据库(开启用户认证)...
  12. linux 源码安装httped,Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2版本后)
  13. c语言读取含特定开头的文件,C#中获取指定路径下特定开头和后缀的所有文件
  14. java毕业设计菜鸟驿站快递分发系统Mybatis+系统+数据库+调试部署
  15. 分享一份软件测试项目(Python项目)
  16. 从0开始建设saas - 系统对接中的问题整理
  17. element组件树形控件el-tree点击展开节点,节点重影
  18. 在线编辑PDF:GcPDF|PDF在线预览GrapeCity Documen PDF
  19. 《随机过程》学习笔记--高斯过程(1)
  20. 宏基 Iconia Tab A500 资料

热门文章

  1. 如异界守塔的伪原创工具
  2. 博客屏蔽搜索引擎只是个笑话!!
  3. 学习编程的过程中可能会走哪些弯路,有哪些经验可以参考?
  4. 经典面试题(3):关于this指向的常见面试题
  5. 这份 Pandas 学习教程很不错,可在线运行
  6. NAR再版 | 人类长非编码RNA知识库LncRNAWiki 2.0
  7. 付完版面费就该吃土了
  8. 蓝桥杯大赛青少年创意编程 推荐考生阅读 相关书籍的相关视频(部分)
  9. python使用opencv_教你快速使用OpenCV/Python/dlib進行眨眼檢測識別!
  10. CAN总线技术 | 数据链路层02 - 帧结构