回答編集履歴

2

誤字の修正

2019/01/18 11:50

投稿

navca
navca

スコア44

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ```ここに言語を入力
4
4
 
5
- loop.run_forever(asyncio.wait([cor(i,data) for i,data in enumerate(datas)]))
5
+ loop.run_until_complete(asyncio.wait([cor(i,data) for i,data in enumerate(datas)]))
6
6
 
7
7
 
8
8
 

1

追記

2019/01/18 11:50

投稿

navca
navca

スコア44

test CHANGED
@@ -1,15 +1,29 @@
1
1
  かなりおかしな勘違いをしてしまいました。データを処理するコルーチンA,Bがどちらも完了してから値を取得して、いいかげんなところで結果が欲しい場合、単に
2
2
 
3
+ ```ここに言語を入力
4
+
3
- loop.run_forever(asyncio.wait([for a(i,data) in enumerate(datas)]))
5
+ loop.run_forever(asyncio.wait([cor(i,data) for i,data in enumerate(datas)]))
4
6
 
5
7
 
6
8
 
7
- async def a(i,data):
9
+ async def cor(i,data):
8
10
 
9
11
  if i % 10 == 0:
10
12
 
11
13
  with ~~
12
14
 
15
+ ```
16
+
13
17
 
14
18
 
15
19
  などしてファイル出力するなりして解決しました。
20
+
21
+
22
+
23
+ 以下追記
24
+
25
+
26
+
27
+ 上のようにファイルに書き込むだけならasynio.waitに渡すコルーチンの中にその処理を描くだけで済みましたが、コルーチンが返す値が取得でき次第加工したいとかであれば以下のやり方でできました。
28
+
29
+ [https://qiita.com/bonotake/items/fbf839b00b1b4cea0302](https://qiita.com/bonotake/items/fbf839b00b1b4cea0302)