python如何停止子线程_【已解决】python 如何结束子线程呢
复制内容到剪贴板
代码:# -*- coding:utf-8 -*-
import wx
import os
import sys
import configparser
import ftpserver
import time
import threading
import ctypes
import inspect
def startftp(event):#点击 启动FTP 按钮事件
global t
if startbutton.GetLabel()=='启动FTP':
startbutton.SetLabel('停止FTP')
config=configparser.ConfigParser()
config.add_section('ftpd')
config.set('ftpd','anonymous',str(not check.GetValue()))
config.set('ftpd','user',usertext.GetValue())
config.set('ftpd','password',passtext.GetValue())
config.set('ftpd','port',porttext.GetValue())
config.set('ftpd','dir',dirtext.GetValue())
with open('config.ini','w') as conf:
config.write(conf)
time.sleep(1)
t=threading.Thread(target=ftpserver.ftpd)#创建线程
t.setDaemon(True)
t.start()
else:# 点击停止FTP按钮事件
stop_thread(t)#停止线程
startbutton.SetLabel('启动FTP')
def _async_raise(tid, exctype): #网上说的结束子线程方法
"""raises the exception, performs cleanup if needed"""
tid = ctypes.c_long(tid)
if not inspect.isclass(exctype):
exctype = type(exctype)
res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype))
if res == 0:
raise ValueError("invalid thread id")
elif res != 1:
# """if it returns a number greater than one, you're in trouble,
# and you should call it again with exc=NULL to revert the effect"""
ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)
raise SystemError("PyThreadState_SetAsyncExc failed")
def stop_thread(thread):
_async_raise(thread.ident, SystemExit)
startbutton=wx.Button(panel,-1,'启动FTP',pos=(160,130),size=(70,30))
window.Bind(wx.EVT_BUTTON,startftp,startbutton)
python如何停止子线程_【已解决】python 如何结束子线程呢相关推荐
- python 折线图中文乱码_彻底解决 Python画图中文乱码问题--Pyplotz组件
1 源起 自从开始学习Python,就非常喜欢用来画图.一直没有需求画要中文显示信息的图,所以没有配置Python中文的环境.由于昨天就需要画几十个形式相同,只是数据不同的图,并且需要显示中文信息.如 ...
- python如何读取log文件_怎么解决Python读取log文件时报错
怎么解决Python读取log文件时报错 发布时间:2020-05-23 14:15:56 来源:亿速云 阅读:157 作者:鸽子 问题描述: 写了一个读取log文件的Python脚本:# -*- c ...
- python输出文件有省略号_如何解决Python输出是省略号的问题
如何解决 Python 输出是省略号的问题 大家在用 Python 工作的时候是否遇到过 Python 输出是省略号的问题, 那么遇到这种情况后 小伙伴是如何解决的呢 ? 是不是也有刚接触 Pytho ...
- python环境配置不成功_怎么解决python配置环境变量不成功
怎么解决python配置环境变量不成功 发布时间:2020-08-25 16:02:46 来源:亿速云 阅读:94 这期内容当中小编将会给大家带来有关怎么解决python配置环境变量不成功,文章内容丰 ...
- python不是内部文件_已安装python,但是出现‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。...
解决方法: 1.打开python shell查看你的python安装路径(黄色标注) >>> import sys >>> sys.path ['', 'C:\\U ...
- python中文显示不出来_彻底解决Python里matplotlib不显示中文的问题
在很长一段时间里用Python绘图,matplotlib都不能很好的显示中文,起初是认为我的pycharm里的设置问题,但是发现同样的问题在spyder里也同样的出现了,虽然有的地方可以用英文实在不行 ...
- python编码问题无法复现_彻底解决Python编码问题
1. 基本概念 字符集(Character set) 解释:文字和符合的总称 常见字符集: Unicode字符集 ASCII字符集(Unicode子集) GB2312字符集 编码方法(Encoding ...
- python编码用什么软件_彻底解决Python编码问题
1. 基本概念 字符集(Character set) 解释:文字和符合的总称 常见字符集: Unicode字符集 ASCII字符集(Unicode子集) GB2312字符集 编码方法(Encoding ...
- python中模块导入问题(已解决)
python中模块导入问题(已解决) 参考文章: (1)python中模块导入问题(已解决) (2)https://www.cnblogs.com/Christen/p/6395470.html 备忘 ...
- 已解决Python调用免费申请的百度图形识别接口案例
已解决Python调用免费申请的百度图形识别接口{'error_code': 18, 'error_msg': 'Open api qps request limit reached'} 文章目录 报 ...
最新文章
- SQL Server 2005——下一代的数据管理和分析软件[转]
- java多线程3.设计线程安全类
- android wear2.9新功能,Android Wear 2.0确认2月9日正式登场
- 鸿蒙有安卓内核吗,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪
- java编写字符串连接程序注释_Java 注解自动化处理对应关系实现注释代码化
- ruby array_Ruby中带有示例的Array.sample()方法
- OpenAtom Pika 来了!
- mysql navicat报表_使用Navicat定时备份mysql数据库和创建报表并邮件自动发送
- 你身边有创业失败导致负债累累的案例吗
- c语言ftell函数,C语言中ftell函数的使用方法
- vcpkg编译库位数总结
- JAVA—生成验证码的两种方法(代码+运行结果+总结)
- excel如何把顺序倒过来_在excel中怎么使文字颠倒顺序反过来显示呢?
- 115网盘批量转存工具
- 一个Java菜鸟的学习之道~~~
- 2022-2028全球与中国工程项目管理软件市场现状及未来发展趋势
- 敏捷mini培训总结
- 什么是mvc,mvc有什么用?
- 宁静、万茜等姐姐们“乘风破浪”,各品牌借势掀起新一波火热营销
- C语言编程精髓读书笔记(怎样有效地使用断言和避免自由主义编码)
热门文章
- 2020中国云计算行业研究报告 附下载地址
- 程序员怎么从中国直接去美国工作?
- 第075封“情书”:百撕不得其解Tearing Cloth<Entagma>Houdini 2018
- 天眼查app协议逆向分析
- 解决SAS/EG中某些process出现的WARNING: The font Arial is not available. Albany AMT will be used.
- Oracle创建表空间和用户
- 云原生--k8s之pod
- 屏幕正中间浮窗html,HTML 纯css浮窗居中和打开or关闭
- Lipschitz型函数
- 全栈学习之CSS基础学习