多线程(了解)和打开其他应用程序
书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯
多线程
概念
单线程只得是代码由上到下执行的,不能跳步执行。也就是一个卡死的话,后面都不执行.所以必须引入多线程的概念
多线程必须引入 threading
例子
import threading
import time
print("Start of program")
def takeANap():
time.sleep(5)
print('Wake Up')
threadObj = threading.Thread(target=takeANap)
threadObj.start()
print("End of program")
# 这样的话 5秒钟后执行takeANap
# 结果
# Start of program
# End of program
# Wake Up
向线程的目标函数传递参数
import threading
print("Gats", "Dogs", "Frogs", sep='&')
threadObj = threading.Thread(
target=print, args=['Gats', 'Dogs', 'Frogs'], kwargs={'sep': '&'})
threadObj.start()
# 结果
# Gats&Dogs&Frogs
多线程一定要小心并发问题
多线程 当创建一个新的 Thread 对象时 要确保其目标函数只使用该函数中的局部变量,这将避免程序中的并发问题
从 Python 中启动其他程序
可以利用 subprocess
可以利用 Popen() 打开别的程序
import subprocess
subprocess.Popen('C:\\windows\\System32\\calc.exe')
# 这样就打开了计算器
# 判断继承是否运行
向 Popen()传递命令行参数
import subprocess
jisuanqi = subprocess.Popen(
['D:\Tools\EDIT\EditPlus.exe', 'C:\\hello.txt'])
jisuanqi.wait()
jisuanqi.poll()
# 结果
# 要是写两个的话 变成数组模式
# 专业昂他会打开记事本,然后在打开hello.txt文件
用 Python 打开网站
- webbrowser
import webbrowser
webbrowser.open("https://www.baidu.com/")
# 结果
# 打开浏览器,输入www.baidu.com