ゲームエンジニアの雑記ブログ

ゲームエンジニアの雑記ブログ。テーマ自由、技術について解説します

Pythonによるファイルダウンロード

Pythonによるファイルダウンロード

こんにちは、エンジニアのオオバです。

前回記事からの続きです。

最低限の機械学習の知識を手に入れるため勉強中。

Pythonによるスクレイピング&機械学習を読み始めると、まずPythonでファイルをダウンロードしてみよう的な基礎的な内容が始まります。

ぼくはPython初心者なので新しい事を知れて楽しいです。
本記事は上記書籍の1-1「データダウンロード」の備忘録です。

→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら

ファイルの直ダウンロード

urllib.py · GitHub

urllib.request.urlretrieve(ファイル名, 保存ファイル名)とするとファイルを直にダウンロード出来ます。

ファイルをメモリ上にダウンロード

urlopen.py · GitHub

urlopenでメモリ上にファイルをダウンロードした後、それをファイルに書き込むという処理になっています。

ここで出てくる with ~ as構文ですが、C#で言うusingのようなものだと認識しています。
処理を抜けると自動的にdispose、closeしてくれるため、コードをスッキリ書くことができそうです。

参考 : with構文(Python) - Qiita

URLにクエリパラメータを付ける

add_query.py · GitHub

urlencode関数を使うとJSON形式のvaluesをクエリパラメータ形式に変換し、下記のように出力してくれます。便利です。

url : https://test.php?hoge=01234&fuga=piyo

コマンドラインから引数取得

argv.py · GitHub

sys.argv[1]でコマンドラインの引数を取得できます。

ちなみにsys.argv[0]とすると実行したファイル名を取得できます。

最後に

Pythonをほぼ初めて書いてみた感想としてはブレースがなくて、インデント管理された文法は見た目スッキリしていてとても書きやすく読みやすいです。
urllibには豊富な機能が入ってそうなので、調べてみるのも楽しそう。

ちなみにエディタはVisualStudioCodeを使っていますが、コード補完されるのでイイ感じ。

オススメ記事
検証環境
  • Python 3.6.3
  • macOS 10.12.6