
1、打开pycharm idea ,按快捷键(Alt + F12)打开teminal窗口
2、安装模块pyinstaller;命令:pip3 install pyinstaller
3、确定安装成功之后,在终端中输入“pyinstaller -F -w 文件名”,回车后开始打包文件
文件名需要绝对路径
-F 是用于将所有的支持文件全部都打包在一起,不显示其他的依赖文件(如果没有这个属性,你会发现所有生成的、所需支持的依赖文件会全部在文件夹下)
-w 在程序运行的过程中隐藏后台控制的黑窗口
4.然后在python的工作目录下就会出现一个dir的目录,这个目录中就有可执行文件
子程序python如何创建子程序_Python中生成器与子程序的并发控制
楚沐风
原创
关注
0点赞·572人阅读
给出示例代码:def main(init):
def report(x):
print x
bigop(init, report)
不过,我不认为这就是你要找的。{{cd2>可能想把数据输入到^ cd2>中。在
您可以通过扭转局面来实现这一点,而不是view是一个驱动另一个生成器的生成器,它是由外部调用程序在其上调用send来驱动的生成器。例如:
^{pr2}$
但你说过view不能改变。当然,您可以编写一个viewdriver,它是一个新的对象,只要send它就是一个新对象。或者,更简单地说,只需反复调用view([data])并让它在单个对象上迭代。在
不管怎样,我不明白你怎么指望这会有什么帮助。bigop不是一个协同程序,您不能将其转换为一个。鉴于此,没有办法强迫它与其他协同程序合作共享。在
如果您想同时交错处理和报告,您必须使用线程(或进程)。事实上,“在BIGOP继续之前,报表必须在每一步都完成”已经是您需求的一部分,这意味着您无论如何也不能安全地执行任何并发 *** 作,所以我不确定您在寻找什么。在
如果您只想在没有并发的情况下交错处理和报告,或者定期挂接到bigop,或者其他类似的事情,那么您可以使用协程来实现这一点,但是它将具有与使用子例程完全相同的效果,上面的两个示例几乎相当。所以,你无缘无故地增加了复杂性。在
(如果bigop是I/O绑定的,那么可以使用greenlets,并使用monkeypatch对I/O *** 作进行异步化,就像gevent和{}一样。但如果是CPU限制的,这样做没有任何好处。)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)