我是

Python新手,我正在编写一个程序只是为了好玩.我的程序包含三个.py文件(假设是a.py,b.py,c.py). a将调用b或c中的函数,具体取决于用户的选项.完成第一轮后,它会询问用户是想继续还是只是退出程序.如果他们选择继续,它会再次询问是否应该运行b或c.

我遇到的问题是,第一次,一个将调用函数完全正常,它运行平稳,然后当我选择继续它再次调用任何函数完全正常,它将进入函数,但然后该功能在第一步中陷入困境.

该程序没有终止,没有给出错误.它接受raw_input变量,但不会继续.我想知道是否有某种方法迫使它接受变量,然后继续这个过程(让它“解开”).我已经尝试过传递下一行了.那没用.

以下是从请求继续开始所需的步骤:

Continue = tkMessageBox.askyesno('Cypher Program', 'I have completed the task'

+ '\nWould you like to do anything else?')

## This is in a.py;

if Continue == True:

cyp()

def cyp():

global root

root = Tk()

root.title("Cypher Program")

root['padx'] = 40

root['pady'] = 20

textFrame = Frame(root)

Label(root, text = 'What would you like to do?').pack(side = TOP)

widget1 = Button(root, text = 'Encrypt a file', command = encrypt)

widget1.pack(side = LEFT)

widget2 = Button(root, text = 'Decrypt a file', command = decrypt)

widget2.pack(side = RIGHT)

widget3 = Button(root, text = 'Quit', command = quitr)

widget3.pack(side = BOTTOM)

root.mainloop()

def encrypt():

root.destroy()

encrypt3.crypt()

##Then from there it goes to b.py;

def crypt():

entry('Enter a file to encrypt:', selectFile)

def entry(msg1, cmd):

global top

top = Toplevel() ##changed it to Toplevel

top.title("File Encrypion")

top['padx'] = 40

top['pady'] = 20

textFrame = Frame(top)

entryLabel = Label(textFrame)

entryLabel['text'] = msg1

entryLabel.pack(side = LEFT)

global entryWidget

entryWidget = Entry(textFrame)

entryWidget['width'] = 50

entryWidget.pack(side = LEFT)

textFrame.pack()

button = Button(top, text = "Submit", command = cmd)

button.pack()

button.bind('', cmd)

top.mainloop()

def selectFile():

if entryWidget.get().strip() == "":

tkMessageBox.showerror("File Encryption", "Enter a file!!")

else:

global enc

enc = entryWidget.get().strip() + '.txt'

top.destroy() ##gets stuck here

##This is the rest of crypt(). It never returns to the try statement

try:

view = open(enc)

except:

import sys

sys.exit(badfile())

text = ''

最佳答案 您需要重新构建代码以仅创建一次根窗口,并且只调用一次mainloop. Tkinter的设计不能在单个进程中多次创建和销毁root.

如果需要多个窗口,请使用Toplevel命令创建其他窗口.

怎么看python程序卡在哪里_Python程序卡住了相关推荐

  1. python界面开发工具免费_Python程序员必备的四款开发工具

    原标题:Python程序员必备的四款开发工具 Python自学与交流中心QQ群:260308621 大家今晚利用1个小时看python基础视频教程 23-27节 ,自己监督自己.跟着学习哈!一定要做到 ...

  2. python库有什么用_Python程序员必知什么 常用的Python库有哪些

    Python程序员必知什么?常用的Python库有哪些?Python有很多丰富而强大的库,这是它成为人工智能与数据分析领域强者的关键.有很多Python开发人员想知道常用的Python库有哪些,接下来 ...

  3. python启动多个进程_Python程序中的进程操作--—--开启多进程

    Python程序中的进程操作-----开启多进程 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创 ...

  4. python程序跑得慢_Python程序慢的重要原因

    Python慢的重要原因: 1.python是动态性语言不是静态性语言 在python程序执行的时候,编译器不知道变量的类型. 2.python是解释性语言而不是编译性语言 解释型语言与编译型语言它们 ...

  5. python程序格式框架的描述_python 程序语言设计(嵩天)-学习笔记(第二章python 程序实例解析)...

    第 2 章 python 程序实例解析 学习目标: 掌握解决计算问题的一般方法. 掌握python语言的基本语法,包括缩进.变量.命名等. 掌握python语言绘制图形的一般方法. 了解python标 ...

  6. python打包exe报错_python 程序打包为 windows 可执行程序 exe

    1,使用到的程序 1,python 2,pyinstaller 2,安装 pyinstaller pip install pyinstaller 3,安装可能出现的问题与报错 1:AttributeE ...

  7. python做公司内部系统错误_Python程序可能导致文件系统错误?

    概述: 你好.我有一个python程序,在9-5小时之间控制一个运动传感器.该程序在树莓派上运行,存储在带有西方人v2.1 Debian OS的SD媒体上.该计划在很大程度上依赖于time.sleep ...

  8. python打卡记录去重_python中对list去重的多种方法

    今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数.不过这个东西最终还是没用上. 问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变. 直观方法 ...

  9. python程序设计基础实战教程_Python程序设计基础实战教程

    第1章 Python概述 1.1 Python的诞生 1.2 Python的特点 1.3 Python能做什么? 1.3.1 Python常规应用 13.2 Python在大数据时代下的应用 1.4 ...

最新文章

  1. 时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)——三次指数平滑算法可以很好的保存时间序列数据的趋势和季节性信息...
  2. boost::graph模块实现包含平均测地线示例
  3. 离线转义 reactjs JSX
  4. vue 双数据绑定原理
  5. *【HDU - 1042 】 N! (大数乘法)
  6. 阿里巴巴1682亿背后的“企业级”高效持续交付
  7. maccmsv10 苹果cms 深度定制站群版
  8. 启用DHCP中继代理程序 实现跨子网服务
  9. NPM酷库:cheerio,服务端jQuery接口实现
  10. Spring Cloud Alibaba RocketMQ 快速入门
  11. SEM 与 SEO 之间的区别与联系
  12. day03 爬取京东信息,bs4
  13. 马王堆汉墓帛书‧老子——乙本释文(道经)
  14. easypoi 实现多sheet导出excel
  15. 索爱SA-K37拉杆音箱,随时随地帮你撑起一个大舞台
  16. 准大四生,现在是七月中旬,要为秋招准备什么?
  17. 一文读懂自动驾驶中的机器人操作系统ROS
  18. 使用Python将TXT文本内容读取后生成指定XML格式的文件
  19. 2021年中科院接收毕业生统计!哪些高校最多?
  20. 有限责任公司章程(中英文版)

热门文章

  1. numpy.cov()和numpy.var()的用法
  2. Application.DoEvents()的使用
  3. 深入理解 C# 协变和逆变
  4. 写代码的16个好习惯,减少80%的bug
  5. Redis-Predis 扩展
  6. sublime开启vim模式
  7. ELK:kibana使用的lucene查询语法
  8. php7与php 5.5 运行效率比较(实测篇)
  9. linux计算机中文件意思,shell在计算机语言中一般是啥意思,比如在linux中
  10. 为什么非全站升级HTTPS不可?