アプリの教科書

アプリ・ウィンドウズで困ったことを調べたブログ

ウィンドウズ10やアプリで困ったことを調べたブログです。

スポンサーリンク


【Visual Studio】Pythonでループ文!ループ中のウェイトやゲージ表示の仕方

Pythonでループさせる処理についてのまとめです。

スクレイピングなどではサーバ負荷をかけないようにループ中に間隔をあけたりしたい場合がありますのでそのあたりも紹介します。

ループ文の書き方

feedback-loop

forでカウント

ループ文はrange関数を使って書くと書きやすいです。

以下は1~10までの処理を実行させます。

for i in range(1, 11):
 print(i)

 

PHPなどの場合は通常以下のように書きます。

for(i=1;i<11;i++){

  print(i);

}

 

配列から取得

配列から値を取り出すには以下のように書くことができます。

Teams = ['softbank', 'lotte', 'rakuten']

for name in Teams:
 print(name)

 

ループから抜ける

ほかの言語同様に「break」コマンドで抜けます。

 

PHPのdieのように、プログラム自体を止めるには「sys」モジュールで「exit」コマンドを実行します。

import sys
sys.exit()

 

 

ループ中の処理TIPS

ウェイトをかける

スクレイピングではループをガンガン回すとサーバに負荷をかけまくりになってしまいます。

 

ループ文を使った場合でも適宜処理を停止させるには「sleep」をはさませます。「time」モジュールをimportしておていから「sleep」で秒数を指定します。

import time
time.sleep(秒数)

 

以下のように書くと、ちょっと間をおいてから(0.5秒)配列の内容を表示します。

Teams = ['softbank', 'lotte', 'rakuten']

for name in Teams:
 print(name)
 time.sleep(0.5)

 

ゲージを表示する

ループを実行中に画面に何も出ないと、フリーズなのか動作しているかわかりません。

そこで処理がどのぐらい進んでいるかゲージ表示してあげるとわかりやすいです。

 

便利なモジュール「tqdm」がありますので先に「pip install tqdm」でインストールしておきましょう。

Visual Studioでのpipインストール方法は以下参照ください。

【Visual Studio 2019】Pythonの始め方 インストールは?PIPは? - 困ったー

 

以下のように書くと...

from tqdm import tqdm

for i in tqdm(range(1000000)):
  pass

 

ゲージが表示されます。簡単で便利です。

f:id:apicode:20201205111409p:plain

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ