python里延时回调普通函数

想在将来某一时刻进行函数回调,可以使用call_later()函数来实现,第一个参数是回调用延时,第二个是回调的函数名称,例子如下:import asyncio def callback(n): print('callback {} invoked'.format(n)) async def main(loop): print('registering callbacks'...
阅读(271) 评论(0)

python里协程事件循环里怎么样调用非协程函数?

为了管理协程和I/O的回调函数,asyncio库的事件循环也能基于定时的方式调用普通的函数,使用call_soon()函数,例子如下:import asyncio import functools def callback(arg, *, kwarg='default'): print('callback invoked with {} and {}'.format(arg, kwar...
阅读(157) 评论(0)

python由生成器构成的协程语法

虽然在python3.5版本之后增加async def和await语法,但是之前的asyncio.coroutine()生成器的装饰器还是可以使用的,并且使用yield from的语法,实际同样的效果,代码如下:import asyncio @asyncio.coroutine def outer(): print('in outer') print('waiting for ...
阅读(146) 评论(0)

python里使用await关键字来等另外一个协程

一个协程里可以启动另外一个协程,并等待它完成返回结果,采用await关键字,例子如下:import asyncio async def outer(): print('in outer') print('waiting for result1') result1 = await phase1() print('waiting for result2') ...
阅读(131) 评论(0)

安装Tensorflow1.3版本出错解决

最近安装TF1.3 带GPU版本,发现如下出错:Traceback (most recent call last):  File "C:\Users\tony\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in s...
阅读(693) 评论(0)

怎么样回放SC2Replay文件

在使用AI玩《星际争霸2》时,会在目录下生成一大堆回放文件,怎么样进行回放呢?在我这里生成的回放文件在目录:F:\game\StarCraft II\Versions\Base56787\Replays\RandomAgent里,比如 Simple128_2017-09-04-02-20-39.SC2Replay文件可以在CMD窗口里,使用下面命令:C:\Users\tony>python -m ...
阅读(198) 评论(0)

跟随Deepmind使用AI玩《星际争霸2》

近来人工智能的火爆,deepmind已经开始研究玩《星际争霸2》了,这个游戏比较复杂,是否可以像围棋一样超越人类呢?要想学习这个,可以到DM的开源网站下载源码:https://github.com/deepmind/pysc2我这里介绍一下在win10下怎么安装,在CMD窗口里使用:pip3 install pysc2在这之前你应该安装libsdl和pygame。这个安装目录如下:AppData\...
阅读(233) 评论(0)

python里从协程返回一个值

下面的例子演法了怎么样从协程里返回一个值:import asyncio async def coroutine(): print('in coroutine') return 'result' event_loop = asyncio.get_event_loop() try: return_value = event_loop.run_until_complete( ...
阅读(181) 评论(0)

有了@asyncio.coroutine装饰器,为什么还需要async关键字?

在 Python 中,异步函数通常被称作协程,创建一个协程仅仅只需使用 async 关键字,或者使用 @asyncio.coroutine 装饰器。下面的任一代码,都可以作为协程工作,形式上也是等同的:import asyncioasync def ping_server(ip):         pass@asyncio.coroutinedef load_file(path):       p...
阅读(210) 评论(0)

python里的协程

说到Coroutine,我们必须提到两个更远的东西。在操作系统(os)级别,有进程(process)和线程(thread)两个(仅从我们常见的讲)实际的“东西”(不说概念是因为这两个家伙的确不仅仅是概念,而是实际存在的,os的代码管理的资源)。这两个东西都是用来模拟“并行”的,写操作系统的程序员通过用一定的策略给不同的进程和线程分配CPU计算资源,来让用户“以为”几个不同的事情在“同时”进行“。在...
阅读(213) 评论(0)

python里使用asyncore创建时间服务客户端

asyncore是提供一个响应的网络框架,它不像前面的例子一样,创建socket对象,然后调用它去做事情。在这里,这个模块是要应该干什么事情时,才让你去做。为了实现这种异步调用,需要继承dispatcher类,改写这个类的方法:writable是当数据发送出去时调用。readable是当有数据收到准备处理时调用。handle_connect是当连接建立时调用。handle_expt是当连接失败或者...
阅读(197) 评论(0)

python里使用asyncore模块

在计算机的世界里,想让一个CPU同时做多件事情,一般来说就两种办法,分时使用和并行使用CPU的资源。对于大量依赖IO事务的程序来说,使用一个线程做多件事情,比多线程做多件事情要来得简单,并且同样高效。如果是CPU密集型计算,就得使用多线程来实现了。在这里介绍python采用一个线程做多件事情的asyncore模块,下面是它创建一个访问WEB的客户端例子:import asyncore class...
阅读(151) 评论(0)

python里给出一个列表,怎么样从列表里取出最小两项的索引值

比如给出列表[12, 13, 1, 8, 10], 这里给出的索引是1和8的索引2、3.#python 3.6 import heapq lst = [12, 13, 1, 8, 10] min_n = 2 temp = map(lst.index, heapq.nsmallest(min_n, lst)) temp = list(temp) print(temp)结果输出如下:[2, 3]在这...
阅读(196) 评论(0)

python题目要求:输出如下图片中的图形

看到这个题目时,可以分析每一行字符的组成规律,就可以分成上下两部来实现。实现的代码如下:#python 3.6 import sys print('请输入要打印的字符: ') printChar = input() print('请输入层数: ') count = input() count = int(count) rowLen = count #输出上半部分行 for i in ran...
阅读(196) 评论(0)

python里使用select模块

这个模块允许你检查一个或多个socket接收数据,或者连接进来,同时也可以检查文件管道等等。使用select函数可以检查多个socket是否可读、可写、出错等状态。一个socket是否可读,主要有三种情况:1)新的连接进来  2)有数据可以接收 3)socket关闭、出错一个socket是否可写,主要有两种情况:1)一个连接调用connect之后连接成功 2)数据可以发送例子如下:# File: ...
阅读(187) 评论(0)
1656条 共111页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:5574817次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:1584篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2082条
    文章存档
    最新评论